// ==UserScript== // @name 超兴学习通自动化 ——— Chaoxing Auto // @namespace https://github.com/lcandy2/Chaoxing-Auto // @version 0.8 // @author lcandy2 (甜檸Cirtron) // @description 超兴学习通自动化脚本,自动完成讨论任务,支持一键回复话题,批量回复话题,批量创建话题等功能 // @license None // @homepage https://github.com/lcandy2/user.js // @homepageURL https://github.com/lcandy2/user.js // @source https://github.com/lcandy2/user.js // @match https://mooc1.chaoxing.com/bbscircle/grouptopic* // @match https://mooc1.chaoxing.com/mooc-ans/bbscircle/grouptopic* // @match https://mooc1.chaoxing.com/bbscircle/gettopicdetail* // @match https://mooc1.chaoxing.com/mooc-ans/bbscircle/gettopicdetail* // @match https://groupweb.chaoxing.com/course/topic/topicList* // @match https://groupweb.chaoxing.com/course/topic/v3/bbs* // @require https://registry.npmmirror.com/react/18.2.0/files/umd/react.production.min.js // @require https://registry.npmmirror.com/react-dom/18.2.0/files/umd/react-dom.production.min.js // @require https://registry.npmmirror.com/react-draggable/4.4.6/files/build/web/react-draggable.min.js // @require https://registry.npmmirror.com/@emotion/react/11.11.4/files/dist/emotion-react.umd.min.js // @require https://registry.npmmirror.com/@emotion/styled/11.11.0/files/dist/emotion-styled.umd.min.js // @require https://registry.npmmirror.com/@mui/material/5.15.13/files/umd/material-ui.production.min.js // @grant GM_addStyle // @grant GM_deleteValue // @grant GM_getValue // @grant GM_setValue // ==/UserScript== (t=>{if(typeof GM_addStyle=="function"){GM_addStyle(t);return}const o=document.createElement("style");o.textContent=t,document.head.append(o)})(' .floating-overlay{position:fixed;top:0;left:0;z-index:1001}.floating-overlay .MuiDialog-root{position:static}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.googlefonts.cn/s/materialicons/v141/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased} '); (function (e, material, E, react, M, _) { 'use strict'; function _interopNamespaceDefault(e) { const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } }); if (e) { for (const k in e) { if (k !== 'default') { const d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: () => e[k] }); } } } n.default = e; return Object.freeze(n); } const e__namespace = /*#__PURE__*/_interopNamespaceDefault(e); function I(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } function B(e) { if (e.__esModule) return e; var t = e.default; if ("function" == typeof t) { var r = function e() { return this instanceof e ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments); }; r.prototype = t.prototype; } else r = {}; return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(e).forEach((function(t) { var n = Object.getOwnPropertyDescriptor(e, t); Object.defineProperty(r, t, n.get ? n : { enumerable: !0, get: function() { return e[t]; } }); })), r; } var F = { exports: {} }, N = {}, z = e, L = Symbol.for("react.element"), D = Symbol.for("react.fragment"), W = Object.prototype.hasOwnProperty, V = z.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, H = { key: !0, ref: !0, __self: !0, __source: !0 }; function K(e, t, r) { var n, o = {}, i = null, a = null; for (n in void 0 !== r && (i = "" + r), void 0 !== t.key && (i = "" + t.key), void 0 !== t.ref && (a = t.ref), t) W.call(t, n) && !H.hasOwnProperty(n) && (o[n] = t[n]); if (e && e.defaultProps) for (n in t = e.defaultProps) void 0 === o[n] && (o[n] = t[n]); return { $$typeof: L, type: e, key: i, ref: a, props: o, _owner: V.current }; } N.Fragment = D, N.jsx = K, N.jsxs = K, F.exports = N; var q = F.exports; const X = new URL("https://mooc1.chaoxing.com/bbscircle/grouptopic"), U = new URL("https://mooc1.chaoxing.com/mooc-ans/bbscircle/grouptopic"), G = new URL("https://mooc1.chaoxing.com/bbscircle/gettopicdetail"), Y = new URL("https://mooc1.chaoxing.com/mooc-ans/bbscircle/gettopicdetail"), J = new URL("https://groupweb.chaoxing.com/course/topic/topicList"), Z = new URL("https://groupweb.chaoxing.com/course/topic/v3/bbs"), Q = "div.topicDetail_detail div.replyBtn", ee = "div.topicDetail_editContainer div.replyEdit textarea", te = "div.replyEditBtnGroup div.addReply", re = "div.oneDiv p.clearfix a.tl1", ne = "div.plDiv div.hfpl textarea", oe = "div.plDiv div.hfpl input.grenBtn", ie = window.location.href, ae = () => ue() || fe(), se = () => de() || pe(), le = () => ue() || de(), ce = () => fe() || pe(), ue = () => { const e = J.href; return ie.includes(e); }, de = () => { const e = X.href, t = U.href; return ie.includes(e) || ie.includes(t); }, fe = () => { const e = Z.href; return ie.includes(e); }, pe = () => { const e = G.href, t = Y.href; return ie.includes(e) || ie.includes(t); }; var he = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 }; const me = e => { let t; const r = new Set, n = (e, n) => { const o = "function" == typeof e ? e(t) : e; if (!Object.is(o, t)) { const e = t; t = (null != n ? n : "object" != typeof o || null === o) ? o : Object.assign({}, t, o), r.forEach((r => r(t, e))); } }, o = () => t, i = { setState: n, getState: o, getInitialState: () => a, subscribe: e => (r.add(e), () => r.delete(e)), destroy: () => { "production" !== (he ? "production" : void 0) && console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."), r.clear(); } }, a = t = e(n, o, i); return i; }; var ge = { exports: {} }, ye = {}, be = { exports: {} }, ve = {}, xe = e; var Se = "function" == typeof Object.is ? Object.is : function(e, t) { return e === t && (0 !== e || 1 / e == 1 / t) || e != e && t != t; }, we = xe.useState, ke = xe.useEffect, je = xe.useLayoutEffect, Ce = xe.useDebugValue; function Re(e) { var t = e.getSnapshot; e = e.value; try { var r = t(); return !Se(e, r); } catch (n) { return !0; } } var Ee = "undefined" == typeof window || void 0 === window.document || void 0 === window.document.createElement ? function(e, t) { return t(); } : function(e, t) { var r = t(), n = we({ inst: { value: r, getSnapshot: t } }), o = n[0].inst, i = n[1]; return je((function() { o.value = r, o.getSnapshot = t, Re(o) && i({ inst: o }); }), [ e, r, t ]), ke((function() { return Re(o) && i({ inst: o }), e((function() { Re(o) && i({ inst: o }); })); }), [ e ]), Ce(r), r; }; ve.useSyncExternalStore = void 0 !== xe.useSyncExternalStore ? xe.useSyncExternalStore : Ee, be.exports = ve; var Oe = be.exports, Te = e, $e = Oe; var Ae = "function" == typeof Object.is ? Object.is : function(e, t) { return e === t && (0 !== e || 1 / e == 1 / t) || e != e && t != t; }, Pe = $e.useSyncExternalStore, Me = Te.useRef, _e = Te.useEffect, Ie = Te.useMemo, Be = Te.useDebugValue; ye.useSyncExternalStoreWithSelector = function(e, t, r, n, o) { var i = Me(null); if (null === i.current) { var a = { hasValue: !1, value: null }; i.current = a; } else a = i.current; i = Ie((function() { function e(e) { if (!l) { if (l = !0, i = e, e = n(e), void 0 !== o && a.hasValue) { var t = a.value; if (o(t, e)) return s = t; } return s = e; } if (t = s, Ae(i, e)) return t; var r = n(e); return void 0 !== o && o(t, r) ? t : (i = e, s = r); } var i, s, l = !1, c = void 0 === r ? null : r; return [ function() { return e(t()); }, null === c ? void 0 : function() { return e(c()); } ]; }), [ t, r, n, o ]); var s = Pe(e, i[0], i[1]); return _e((function() { a.hasValue = !0, a.value = s; }), [ s ]), Be(s), s; }, ge.exports = ye; const Fe = I(ge.exports); var Ne = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 }; const {useDebugValue: ze} = e, {useSyncExternalStoreWithSelector: Le} = Fe; let De = !1; const We = e => e; const Ve = e => { "production" !== (Ne ? "production" : void 0) && "function" != typeof e && console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`."); const t = "function" == typeof e ? (e => e ? me(e) : me)(e) : e, r = (e, r) => function(e, t = We, r) { "production" !== (Ne ? "production" : void 0) && r && !De && (console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"), De = !0); const n = Le(e.subscribe, e.getState, e.getServerState || e.getInitialState, t, r); return ze(n), n; }(t, e, r); return Object.assign(r, t), r; }, He = e => e ? Ve(e) : Ve; var Ke = { BASE_URL: "/", MODE: "production", DEV: !1, PROD: !0, SSR: !1 }; const qe = (e, t) => (...r) => Object.assign({}, e, t(...r)); function Xe(e, t) { let r; try { r = e(); } catch (n) { return; } return { getItem: e => { var n; const o = e => null === e ? null : JSON.parse(e, null == t ? void 0 : t.reviver), i = null != (n = r.getItem(e)) ? n : null; return i instanceof Promise ? i.then(o) : o(i); }, setItem: (e, n) => r.setItem(e, JSON.stringify(n, null == t ? void 0 : t.replacer)), removeItem: e => r.removeItem(e) }; } const Ue = e => t => { try { const r = e(t); return r instanceof Promise ? r : { then: e => Ue(e)(r), catch(e) { return this; } }; } catch (r) { return { then(e) { return this; }, catch: e => Ue(e)(r) }; } }, Ge = (e, t) => "getStorage" in t || "serialize" in t || "deserialize" in t ? ("production" !== (Ke ? "production" : void 0) && console.warn("[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead."), ((e, t) => (r, n, o) => { let i = { getStorage: () => localStorage, serialize: JSON.stringify, deserialize: JSON.parse, partialize: e => e, version: 0, merge: (e, t) => ({ ...t, ...e }), ...t }, a = !1; const s = new Set, l = new Set; let c; try { c = i.getStorage(); } catch (g) {} if (!c) return e(((...e) => { console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`), r(...e); }), n, o); const u = Ue(i.serialize), d = () => { const e = i.partialize({ ...n() }); let t; const r = u({ state: e, version: i.version }).then((e => c.setItem(i.name, e))).catch((e => { t = e; })); if (t) throw t; return r; }, f = o.setState; o.setState = (e, t) => { f(e, t), d(); }; const p = e(((...e) => { r(...e), d(); }), n, o); let h; const m = () => { var e; if (!c) return; a = !1, s.forEach((e => e(n()))); const t = (null == (e = i.onRehydrateStorage) ? void 0 : e.call(i, n())) || void 0; return Ue(c.getItem.bind(c))(i.name).then((e => { if (e) return i.deserialize(e); })).then((e => { if (e) { if ("number" != typeof e.version || e.version === i.version) return e.state; if (i.migrate) return i.migrate(e.state, e.version); console.error("State loaded from storage couldn't be migrated since no migrate function was provided"); } })).then((e => { var t; return h = i.merge(e, null != (t = n()) ? t : p), r(h, !0), d(); })).then((() => { null == t || t(h, void 0), a = !0, l.forEach((e => e(h))); })).catch((e => { null == t || t(void 0, e); })); }; return o.persist = { setOptions: e => { i = { ...i, ...e }, e.getStorage && (c = e.getStorage()); }, clearStorage: () => { null == c || c.removeItem(i.name); }, getOptions: () => i, rehydrate: () => m(), hasHydrated: () => a, onHydrate: e => (s.add(e), () => { s.delete(e); }), onFinishHydration: e => (l.add(e), () => { l.delete(e); }) }, m(), h || p; })(e, t)) : ((e, t) => (r, n, o) => { let i = { storage: Xe((() => localStorage)), partialize: e => e, version: 0, merge: (e, t) => ({ ...t, ...e }), ...t }, a = !1; const s = new Set, l = new Set; let c = i.storage; if (!c) return e(((...e) => { console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`), r(...e); }), n, o); const u = () => { const e = i.partialize({ ...n() }); return c.setItem(i.name, { state: e, version: i.version }); }, d = o.setState; o.setState = (e, t) => { d(e, t), u(); }; const f = e(((...e) => { r(...e), u(); }), n, o); let p; o.getInitialState = () => f; const h = () => { var e, t; if (!c) return; a = !1, s.forEach((e => { var t; return e(null != (t = n()) ? t : f); })); const o = (null == (t = i.onRehydrateStorage) ? void 0 : t.call(i, null != (e = n()) ? e : f)) || void 0; return Ue(c.getItem.bind(c))(i.name).then((e => { if (e) { if ("number" != typeof e.version || e.version === i.version) return e.state; if (i.migrate) return i.migrate(e.state, e.version); console.error("State loaded from storage couldn't be migrated since no migrate function was provided"); } })).then((e => { var t; return p = i.merge(e, null != (t = n()) ? t : f), r(p, !0), u(); })).then((() => { null == o || o(p, void 0), p = n(), a = !0, l.forEach((e => e(p))); })).catch((e => { null == o || o(void 0, e); })); }; return o.persist = { setOptions: e => { i = { ...i, ...e }, e.storage && (c = e.storage); }, clearStorage: () => { null == c || c.removeItem(i.name); }, getOptions: () => i, rehydrate: () => h(), hasHydrated: () => a, onHydrate: e => (s.add(e), () => { s.delete(e); }), onFinishHydration: e => (l.add(e), () => { l.delete(e); }) }, i.skipHydration || h(), p || f; })(e, t); var Ye = (() => "undefined" != typeof GM_deleteValue ? GM_deleteValue : void 0)(), Je = (() => "undefined" != typeof GM_getValue ? GM_getValue : void 0)(), Ze = (() => "undefined" != typeof GM_setValue ? GM_setValue : void 0)(); const Qe = { getItem: async e => await Je(e) || null, setItem: async (e, t) => { await Ze(e, t); }, removeItem: async e => { await Ye(e); } }, et = He(qe({ logItems: [] }, (e => ({ addLogItem: t => { e((e => ({ logItems: [ ...e.logItems, t ] }))); } })))), tt = He(Ge(qe({ standbyTime: 200, countTimes: 1, _hasHydrated: !1 }, (e => ({ setStandbyTime: t => { e({ standbyTime: t }); }, setCountTimes: t => { e({ countTimes: t }); }, setHasHydrated: t => { e({ _hasHydrated: t }); } }))), { name: "topic_settings", storage: Xe((() => Qe)), onRehydrateStorage: () => e => { e && e.setHasHydrated(!0); } })), rt = He(qe({ currentStatus: null, currentPage: null, isInActionFrame: !1, actionFrameStatus: {}, topicDetail: {}, topicList: [] }, (e => ({ setCurrentStatus: t => { e({ currentStatus: t }); }, setCurrentPage: t => { e({ currentPage: t }); }, setIsInActionFrame: t => { e({ isInActionFrame: t }); }, setActionFrameStatus: t => { e({ actionFrameStatus: t }); }, setActionFrameStatusStatus: t => { e((e => ({ actionFrameStatus: { ...e.actionFrameStatus, status: t } }))); }, setActionFrameStatusIndex: t => { e((e => ({ actionFrameStatus: { ...e.actionFrameStatus, index: t } }))); }, setActionFrameStatusTotal: t => { e((e => ({ actionFrameStatus: { ...e.actionFrameStatus, total: t } }))); }, setActionFrameStatusSrc: t => { e((e => ({ actionFrameStatus: { ...e.actionFrameStatus, src: t } }))); }, setTopicDetail: t => { e({ topicDetail: t }); }, setTopicList: t => { e({ topicList: t }); } })))); const nt = e => { var t; const r = e.querySelector(".topicDetail_title"); return r ? null == (t = r.textContent) ? void 0 : t.trim() : void 0; }, ot = e => { const t = e.querySelector(".topicDetail_main"); if (!t) return; return Array.from(t.children).filter((e => !e.classList.contains("topicDetail_info"))).map((e => { var t; return null == (t = e.textContent) ? void 0 : t.trim(); })).join(" "); }, it = e => Array.from(e.querySelectorAll(".topicDetail_replyItem")).map((e => { var t, r; const n = e.querySelector(".author"), o = e.querySelector(".replyContent"); return { author: n ? null == (t = n.textContent) ? void 0 : t.trim() : "", content: o ? null == (r = o.textContent) ? void 0 : r.trim() : "" }; })), at = e => { var t; const r = e.querySelector(".oneDiv"); let n; if (r) { let e = r.querySelector("h3"); if (e) { let r = e.querySelector("em"); r && r.remove(), n = null == (t = e.textContent) ? void 0 : t.trim(); } } return n; }, st = e => { var t; const r = e.querySelector("#topicContent"); return r ? null == (t = r.textContent) ? void 0 : t.trim() : void 0; }, lt = e => { var t, r; let n, o = []; if (e && e.children.length > 1) { n = e.children[1]; let i = n.querySelectorAll("div"); for (let e = 0; e < i.length; e++) { if (i[e].parentElement !== n) continue; let a = {}, s = i[e].querySelector("p > span.name"), l = i[e].querySelector("h3"); s && (a.author = null == (t = s.textContent) ? void 0 : t.trim()), l && (a.content = null == (r = l.textContent) ? void 0 : r.trim()), a.content && o.push(a); } } return o; }, ct = window.location.hash, ut = e => { ct.includes(e) || window.history.replaceState(null, "", `${ct}#${e}`); }, dt = () => ct.includes("cxauto_start"), ft = () => ct.includes("cxauto_success"), pt = () => ct.includes("cxauto_action"), ht = e => { const t = "cxauto_success"; return e ? `${e}#${t}` : (ut(t), !0); }, mt = e => { const t = "cxauto_action"; return e ? `${e}#${t}` : (ut(t), !0); }, gt = ae() && !se() ? "new" : se() && !ae() ? "legacy" : null; function yt(e) { const t = et.getState().addLogItem; t("----- 执行失败 -----"), t(e.toString()), t(`-v=${gt}`), console.error(e, gt); } const bt = () => Array.from(document.querySelectorAll("div#showTopics div.content1118")).filter((e => Array.from(e.children).some((e => e.classList.contains("oneRight"))))).map((e => { var t, r, n; const o = e.querySelector("h3 a"), i = (null == (t = null == o ? void 0 : o.textContent) ? void 0 : t.trim()) || "", a = e.querySelector("p.clearfix"); return { title: i, author: (null == (r = null == a ? void 0 : a.children[0].textContent) ? void 0 : r.trim()) || "", replyCount: (null == (n = null == a ? void 0 : a.children[1].textContent) ? void 0 : n.trim()) || "", url: (null == o ? void 0 : o.getAttribute("href")) || "" }; })); async function vt(e = 1) { const t = await tt.getState().standbyTime; return new Promise((r => setTimeout(r, t * e))); } const xt = fe() && !pe() ? "new" : pe() && !fe() ? "legacy" : null, St = "new" === xt, wt = et.getState().addLogItem; const kt = (e, t) => { if (!e.replies) throw new Error("topicDetail.replies is undefined"); const r = e.replies.map((e => e.content || "")), n = []; if (r.length <= t) { for (let r = 0; r < t; r++) n.push(e.content || e.title || ""); return n; } let o = !0; r.length <= t && (o = !1); for (let i = 0; i < t; i++) { const e = Math.floor(Math.random() * r.length); n.push(r[e]), o && r.splice(e, 1); } return n; }, jt = async e => { try { const t = document.querySelector(e); if (console.log(t, e), !t) throw new Error("无法找到进行回复的按钮。"); return t.click(), wt("已点击进行回复的按钮,即将继续..."), await vt(.1), !0; } catch (t) { return yt(t), !1; } }, Ct = async e => { try { const t = document.querySelector(e); if (!t) throw new Error("无法找到用于回复的文本区域。"); return t.click(), t.focus(), wt("已找到用于回复的文本区域,等待回复..."), await vt(.1), t; } catch (t) { yt(t); } }, Rt = async ({selector: e, textarea: t, contextToReply: r}) => { try { const n = document.querySelector(e); if (!n || !t) throw new Error("Required elements not found."); for (let e = 0; e < r.length; e++) t.value = r[e], wt(`Reply ${r[e]} filled, waiting to submit...`), "legacy" === xt && n.addEventListener("click", (function(e) { e.preventDefault(); })), await vt(.8), n.click(), t.value = "", e !== r.length - 1 && (await vt(1), wt("Reply submitted, waiting to continue...")); return !0; } catch (n) { yt(n); } }; function Et({topicDetail: e$1, setCurrentStatus: t, currentStatus: n, setIsButtonDisabled: o}) { const {addLogItem: i} = et(); e.useEffect((() => { e$1 && (e$1.title && i(`获取到讨论标题:${e$1.title}`), e$1.content && i(`获取到讨论内容:${e$1.content}`), e$1.replies && i(`获取到讨论回复:共 ${e$1.replies.length} 条`)); }), [ e$1 ]), e.useEffect((() => { const e = async () => { const e = await async function() { const {countTimes: e} = tt.getState(), {topicDetail: t} = rt.getState(), r = kt(t, e); console.debug("currentVersion", xt); try { if (r.length <= 0) throw new Error("未获取到回复评论。"); const e = St ? Q : re, t = St ? ee : ne, n = St ? te : oe, o = await jt(e), i = await Ct(t), a = await Rt({ selector: n, textarea: i, contextToReply: r }); if (o && i && a) return !0; } catch (n) { return yt(n), !1; } }(); t(e ? "success" : "failed"); }; switch (n) { case "running": default: o(!0); break; case "triggered": o(!0), t("running"), e(); break; case "success": o(!1), ht(), i("All done!"); break; case "idle": case "failed": o(!1); } }), [ n ]); } const Ot = ({setCurrentStatus: e}) => async () => { e("triggered"); }, Tt = () => { console.debug("PostMessageSuccess"), window.parent.postMessage({ type: "cxauto_action_frame", status: "success" }, "*"); }, $t = () => { window.addEventListener("message", (e => { if ("cxauto_action_frame" === e.data.type) { const t = rt.getState().actionFrameStatus.status; "success" === e.data.status && "running" === t && rt.getState().setActionFrameStatusStatus("success"); } })); }, At = rt.getState().setActionFrameStatusStatus, Pt = rt.getState().setActionFrameStatusIndex, Mt = rt.getState().setActionFrameStatusTotal, _t = rt.getState().setActionFrameStatusSrc, It = et.getState().addLogItem; const Bt = () => { const {topicList: e} = rt.getState(); return e.length, Pt(0), Mt(e.length), _t(""), !0; }, Ft = async (e, t) => (_t(""), e === t - 1 || (Pt(e + 1), vt(.5), At("waitingToStart"), !1)); function Nt() { const {currentPage: e$1, setCurrentPage: t} = rt(), {topicDetail: o, setTopicDetail: i} = rt(), {topicList: a, setTopicList: s} = rt(), {currentStatus: f, setCurrentStatus: p} = rt(), {isInActionFrame: h, setIsInActionFrame: m} = rt(), [g, y] = e.useState(!0), {addLogItem: b} = et(), {actionFrameStatus: v, setActionFrameStatus: x, setActionFrameStatusStatus: S} = rt(), w = v.status; e.useEffect((() => { const e = ft(), r = pt(), n = dt() || r; ce() ? (t("detail"), r && m(!0), n && (e || p("triggered"))) : le() && t("list"), e && p("success"); }), []), e.useEffect((() => { if ("list" === e$1 || "detail" === e$1) { let t; switch (e$1) { case "detail": t = "讨论详情"; const e = function() { const e = fe(), t = pe(), r = et.getState().addLogItem, n = { title: void 0, content: void 0, replies: void 0 }; if (e && !t) try { const e = document.querySelector(".topicDetail_detail"), t = document.querySelector(".topicDetail_replyList"); if (!e || !t) return; const r = nt(e), o = ot(e), i = it(t); n.title = r, n.content = o, n.replies = i; } catch (o) { console.error(o), r(`获取讨论详情失败:${o}`); } else if (t && !e) try { const e = document.querySelectorAll("div"); let t; for (let n = 0; n < e.length; n++) if (e[n].className.match(/content\d{4}/)) { t = e[n]; break; } if (!t) return; const r = at(t), o = st(t), i = lt(t); n.title = r, n.content = o, n.replies = i; } catch (o) { console.error(o), r(`获取讨论详情失败:${o}`); } return n; }(); e && (i(e), f || p("idle")); break; case "list": t = "讨论列表"; const r = function() { const e = "new" === (ue() && !de() ? "new" : de() && !ue() ? "legacy" : null); try { if (!e) { const e = bt(); return console.debug("getLegacyItems", e), e; } } catch (t) { yt(t); } }(); r && (s(r), w || f || S("idle")); break; default: t = "未知页面"; } b(`检测到当前为 [${t}]`); } }), [ e$1 ]), Et({ topicDetail: o, setCurrentStatus: p, currentStatus: f, setIsButtonDisabled: y }); const k = Ot({ setCurrentStatus: p }); e.useEffect((() => { a.length && b(`获取到发起的讨论:共 ${a.length} 条`); }), [ a ]), e.useEffect((() => { h && "success" === f && (console.debug("PostMessageSuccess"), Tt()); }), [ h ]); return e.useEffect((() => { const e = w; e && console.debug("PanelActions useEffect actionFrameStatus", v); const t = async () => { if (e) { const t = await async function(e) { const {actionFrameStatus: t} = rt.getState(), r = t.total, {topicList: n} = rt.getState(); console.debug("RunningTopicListReply Status", e), "triggered" === e && (Bt(), It("开始:批量回复讨论"), vt(.1), At("waitingToStart")); const o = t.index || 0; try { if ("waitingToStart" === e) { const e = n[o].url; if (e) { const t = mt(e).toString(); _t(t), It(`正在回复讨论:${n[o].title}`), vt(.1), $t(), vt(.3), At("running"); } else yt("未找到讨论链接"), At("failed"); } if ("failed" === e && At("waitingToNext"), "success" === e) { const e = n[o].title; It(`已回复讨论:${e}`), vt(.4), At("waitingToNext"); } const t = r || 0; if ("waitingToNext" === e) return await Ft(o, t); } catch (i) { yt(i), At("failed"); } return !1; }(e); t && S("finished"); } }; "triggered" === e || "waitingToStart" === e || "waitingToNext" === e || "failed" === e || "success" === e ? (t(), p("running")) : "finished" === e ? p("success") : "idle" === e && p("idle"); }), [ w ]), q.jsxs(q.Fragment, { children: [ g && q.jsx(material.CircularProgress, { size: "2em" }), "success" === f && "detail" === e$1 && q.jsxs(q.Fragment, { children: [ q.jsx(material.Icon, { color: "success", children: "done" }), q.jsx(material.Typography, { variant: "body2", children: "已完成" }) ] }), "failed" === f && q.jsxs(q.Fragment, { children: [ q.jsx(material.Icon, { color: "error", children: "error" }), q.jsx(material.Typography, { variant: "body2", children: "错误" }) ] }), "detail" === e$1 && !h && q.jsxs(material.Button, { autoFocus: "success" !== f, disabled: g, onClick: k, children: [ ("success" === f || "failed" === f) && "再次", "回复讨论" ] }), "list" === e$1 && q.jsxs(q.Fragment, { children: [ q.jsx(material.Button, { autoFocus: !0, disabled: !0, children: "批量发起讨论" }), q.jsxs(material.Button, { autoFocus: "success" !== f, disabled: g, onClick: async () => { S("triggered"); }, children: [ "success" === f && q.jsx(material.Icon, { color: "success", children: "done" }), "success" === f || "failed" === f ? "再次批量回复" : "批量回复讨论" ] }) ] }) ] }); } function zt(e, t) { if (null == e) return {}; var r, n, o = {}, i = Object.keys(e); for (n = 0; n < i.length; n++) r = i[n], t.indexOf(r) >= 0 || (o[r] = e[r]); return o; } function Lt() { return Lt = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } return e; }, Lt.apply(this, arguments); } var Dt, Wt = { exports: {} }, Vt = {}, Ht = Symbol.for("react.element"), Kt = Symbol.for("react.portal"), qt = Symbol.for("react.fragment"), Xt = Symbol.for("react.strict_mode"), Ut = Symbol.for("react.profiler"), Gt = Symbol.for("react.provider"), Yt = Symbol.for("react.context"), Jt = Symbol.for("react.server_context"), Zt = Symbol.for("react.forward_ref"), Qt = Symbol.for("react.suspense"), er = Symbol.for("react.suspense_list"), tr = Symbol.for("react.memo"), rr = Symbol.for("react.lazy"), nr = Symbol.for("react.offscreen"); function or(e) { if ("object" == typeof e && null !== e) { var t = e.$$typeof; switch (t) { case Ht: switch (e = e.type) { case qt: case Ut: case Xt: case Qt: case er: return e; default: switch (e = e && e.$$typeof) { case Jt: case Yt: case Zt: case rr: case tr: case Gt: return e; default: return t; } } case Kt: return t; } } } Dt = Symbol.for("react.module.reference"), Vt.ContextConsumer = Yt, Vt.ContextProvider = Gt, Vt.Element = Ht, Vt.ForwardRef = Zt, Vt.Fragment = qt, Vt.Lazy = rr, Vt.Memo = tr, Vt.Portal = Kt, Vt.Profiler = Ut, Vt.StrictMode = Xt, Vt.Suspense = Qt, Vt.SuspenseList = er, Vt.isAsyncMode = function() { return !1; }, Vt.isConcurrentMode = function() { return !1; }, Vt.isContextConsumer = function(e) { return or(e) === Yt; }, Vt.isContextProvider = function(e) { return or(e) === Gt; }, Vt.isElement = function(e) { return "object" == typeof e && null !== e && e.$$typeof === Ht; }, Vt.isForwardRef = function(e) { return or(e) === Zt; }, Vt.isFragment = function(e) { return or(e) === qt; }, Vt.isLazy = function(e) { return or(e) === rr; }, Vt.isMemo = function(e) { return or(e) === tr; }, Vt.isPortal = function(e) { return or(e) === Kt; }, Vt.isProfiler = function(e) { return or(e) === Ut; }, Vt.isStrictMode = function(e) { return or(e) === Xt; }, Vt.isSuspense = function(e) { return or(e) === Qt; }, Vt.isSuspenseList = function(e) { return or(e) === er; }, Vt.isValidElementType = function(e) { return "string" == typeof e || "function" == typeof e || e === qt || e === Ut || e === Xt || e === Qt || e === er || e === nr || "object" == typeof e && null !== e && (e.$$typeof === rr || e.$$typeof === tr || e.$$typeof === Gt || e.$$typeof === Yt || e.$$typeof === Zt || e.$$typeof === Dt || void 0 !== e.getModuleId); }, Vt.typeOf = or, Wt.exports = Vt; var ir = Wt.exports; function ar(e) { var t, r, n = ""; if ("string" == typeof e || "number" == typeof e) n += e; else if ("object" == typeof e) if (Array.isArray(e)) { var o = e.length; for (t = 0; t < o; t++) e[t] && (r = ar(e[t])) && (n && (n += " "), n += r); } else for (r in e) e[r] && (n && (n += " "), n += r); return n; } function sr() { for (var e, t, r = 0, n = "", o = arguments.length; r < o; r++) (e = arguments[r]) && (t = ar(e)) && (n && (n += " "), n += t); return n; } function lr(e) { if ("object" != typeof e || null === e) return !1; const t = Object.getPrototypeOf(e); return !(null !== t && t !== Object.prototype && null !== Object.getPrototypeOf(t) || Symbol.toStringTag in e || Symbol.iterator in e); } function cr(e) { if (!lr(e)) return e; const t = {}; return Object.keys(e).forEach((r => { t[r] = cr(e[r]); })), t; } function ur(e, t, r = { clone: !0 }) { const n = r.clone ? Lt({}, e) : e; return lr(e) && lr(t) && Object.keys(t).forEach((o => { "__proto__" !== o && (lr(t[o]) && o in e && lr(e[o]) ? n[o] = ur(e[o], t[o], r) : r.clone ? n[o] = lr(t[o]) ? cr(t[o]) : t[o] : n[o] = t[o]); })), n; } const dr = Object.freeze(Object.defineProperty({ __proto__: null, default: ur, isPlainObject: lr }, Symbol.toStringTag, { value: "Module" })); function fr(e) { let t = "https://mui.com/production-error/?code=" + e; for (let r = 1; r < arguments.length; r += 1) t += "&args[]=" + encodeURIComponent(arguments[r]); return "Minified MUI error #" + e + "; visit " + t + " for the full message."; } const pr = Object.freeze(Object.defineProperty({ __proto__: null, default: fr }, Symbol.toStringTag, { value: "Module" })), hr = /^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/; function mr(e) { const t = `${e}`.match(hr); return t && t[1] || ""; } function gr(e, t = "") { return e.displayName || e.name || mr(e) || t; } function yr(e, t, r) { const n = gr(t); return e.displayName || ("" !== n ? `${r}(${n})` : r); } const br = Object.freeze(Object.defineProperty({ __proto__: null, default: function(e) { if (null != e) { if ("string" == typeof e) return e; if ("function" == typeof e) return gr(e, "Component"); if ("object" == typeof e) switch (e.$$typeof) { case ir.ForwardRef: return yr(e, e.render, "ForwardRef"); case ir.Memo: return yr(e, e.type, "memo"); default: return; } } }, getFunctionName: mr }, Symbol.toStringTag, { value: "Module" })); function vr(e) { if ("string" != typeof e) throw new Error(fr(7)); return e.charAt(0).toUpperCase() + e.slice(1); } const xr = Object.freeze(Object.defineProperty({ __proto__: null, default: vr }, Symbol.toStringTag, { value: "Module" })); function Sr(e, t = 166) { let r; function n(...n) { clearTimeout(r), r = setTimeout((() => { e.apply(this, n); }), t); } return n.clear = () => { clearTimeout(r); }, n; } function wr(e) { return e && e.ownerDocument || document; } function kr(e) { return wr(e).defaultView || window; } const jr = "undefined" != typeof window ? e__namespace.useLayoutEffect : e__namespace.useEffect; function Cr(t) { const r = e__namespace.useRef(t); return jr((() => { r.current = t; })), e__namespace.useRef(((...e) => (0, r.current)(...e))).current; } function Rr(...t) { return e__namespace.useMemo((() => t.every((e => null == e)) ? null : e => { t.forEach((t => { !function(e, t) { "function" == typeof e ? e(t) : e && (e.current = t); }(t, e); })); }), t); } const Er = {}; const Or = []; class Tr { constructor() { this.currentId = null, this.clear = () => { null !== this.currentId && (clearTimeout(this.currentId), this.currentId = null); }, this.disposeEffect = () => this.clear; } static create() { return new Tr; } start(e, t) { this.clear(), this.currentId = setTimeout((() => { this.currentId = null, t(); }), e); } } function $r() { const t = function(t, r) { const n = e__namespace.useRef(Er); return n.current === Er && (n.current = t(r)), n; }(Tr.create).current; var r; return r = t.disposeEffect, e__namespace.useEffect(r, Or), t; } let Ar = !0, Pr = !1; const Mr = new Tr, _r = { text: !0, search: !0, url: !0, tel: !0, email: !0, password: !0, number: !0, date: !0, month: !0, week: !0, time: !0, datetime: !0, "datetime-local": !0 }; function Ir(e) { e.metaKey || e.altKey || e.ctrlKey || (Ar = !0); } function Br() { Ar = !1; } function Fr() { "hidden" === this.visibilityState && Pr && (Ar = !0); } function Nr(e) { const {target: t} = e; try { return t.matches(":focus-visible"); } catch (r) {} return Ar || function(e) { const {type: t, tagName: r} = e; return !("INPUT" !== r || !_r[t] || e.readOnly) || "TEXTAREA" === r && !e.readOnly || !!e.isContentEditable; }(t); } function zr() { const t = e__namespace.useCallback((e => { var t; null != e && ((t = e.ownerDocument).addEventListener("keydown", Ir, !0), t.addEventListener("mousedown", Br, !0), t.addEventListener("pointerdown", Br, !0), t.addEventListener("touchstart", Br, !0), t.addEventListener("visibilitychange", Fr, !0)); }), []), r = e__namespace.useRef(!1); return { isFocusVisibleRef: r, onFocus: function(e) { return !!Nr(e) && (r.current = !0, !0); }, onBlur: function() { return !!r.current && (Pr = !0, Mr.start(100, (() => { Pr = !1; })), r.current = !1, !0); }, ref: t }; } let Lr; function Dr() { if (Lr) return Lr; const e = document.createElement("div"), t = document.createElement("div"); return t.style.width = "10px", t.style.height = "1px", e.appendChild(t), e.dir = "rtl", e.style.fontSize = "14px", e.style.width = "4px", e.style.height = "1px", e.style.position = "absolute", e.style.top = "-1000px", e.style.overflow = "scroll", document.body.appendChild(e), Lr = "reverse", e.scrollLeft > 0 ? Lr = "default" : (e.scrollLeft = 1, 0 === e.scrollLeft && (Lr = "negative")), document.body.removeChild(e), Lr; } function Wr(e, t) { const r = e.scrollLeft; if ("rtl" !== t) return r; switch (Dr()) { case "negative": return e.scrollWidth - e.clientWidth + r; case "reverse": return e.scrollWidth - e.clientWidth - r; default: return r; } } function Vr(e, t) { const r = Lt({}, t); return Object.keys(e).forEach((n => { if (n.toString().match(/^(components|slots)$/)) r[n] = Lt({}, e[n], r[n]); else if (n.toString().match(/^(componentsProps|slotProps)$/)) { const o = e[n] || {}, i = t[n]; r[n] = {}, i && Object.keys(i) ? o && Object.keys(o) ? (r[n] = Lt({}, i), Object.keys(o).forEach((e => { r[n][e] = Vr(o[e], i[e]); }))) : r[n] = i : r[n] = o; } else void 0 === r[n] && (r[n] = e[n]); })), r; } function Hr(e, t, r = void 0) { const n = {}; return Object.keys(e).forEach((o => { n[o] = e[o].reduce(((e, n) => { if (n) { const o = t(n); "" !== o && e.push(o), r && r[n] && e.push(r[n]); } return e; }), []).join(" "); })), n; } const Kr = e => e, qr = (() => { let e = Kr; return { configure(t) { e = t; }, generate: t => e(t), reset() { e = Kr; } }; })(), Xr = { active: "active", checked: "checked", completed: "completed", disabled: "disabled", error: "error", expanded: "expanded", focused: "focused", focusVisible: "focusVisible", open: "open", readOnly: "readOnly", required: "required", selected: "selected" }; function Ur(e, t, r = "Mui") { const n = Xr[t]; return n ? `${r}-${n}` : `${qr.generate(e)}-${t}`; } function Gr(e, t, r = "Mui") { const n = {}; return t.forEach((t => { n[t] = Ur(e, t, r); })), n; } const Yr = Object.freeze(Object.defineProperty({ __proto__: null, default: function(e, t = Number.MIN_SAFE_INTEGER, r = Number.MAX_SAFE_INTEGER) { return Math.max(t, Math.min(e, r)); } }, Symbol.toStringTag, { value: "Module" })); function Jr(e) { if (void 0 === e) return {}; const t = {}; return Object.keys(e).filter((t => !(t.match(/^on[A-Z]/) && "function" == typeof e[t]))).forEach((r => { t[r] = e[r]; })), t; } function Zr(e) { const {getSlotProps: t, additionalProps: r, externalSlotProps: n, externalForwardedProps: o, className: i} = e; if (!t) { const e = sr(null == r ? void 0 : r.className, i, null == o ? void 0 : o.className, null == n ? void 0 : n.className), t = Lt({}, null == r ? void 0 : r.style, null == o ? void 0 : o.style, null == n ? void 0 : n.style), a = Lt({}, r, o, n); return e.length > 0 && (a.className = e), Object.keys(t).length > 0 && (a.style = t), { props: a, internalRef: void 0 }; } const a = function(e, t = []) { if (void 0 === e) return {}; const r = {}; return Object.keys(e).filter((r => r.match(/^on[A-Z]/) && "function" == typeof e[r] && !t.includes(r))).forEach((t => { r[t] = e[t]; })), r; }(Lt({}, o, n)), s = Jr(n), l = Jr(o), c = t(a), u = sr(null == c ? void 0 : c.className, null == r ? void 0 : r.className, i, null == o ? void 0 : o.className, null == n ? void 0 : n.className), d = Lt({}, null == c ? void 0 : c.style, null == r ? void 0 : r.style, null == o ? void 0 : o.style, null == n ? void 0 : n.style), f = Lt({}, c, r, l, s); return u.length > 0 && (f.className = u), Object.keys(d).length > 0 && (f.style = d), { props: f, internalRef: c.ref }; } const Qr = [ "elementType", "externalSlotProps", "ownerState", "skipResolvingSlotProps" ]; function en(e) { var t; const {elementType: r, externalSlotProps: n, ownerState: o, skipResolvingSlotProps: i = !1} = e, a = zt(e, Qr), s = i ? {} : function(e, t, r) { return "function" == typeof e ? e(t, r) : e; }(n, o), {props: l, internalRef: c} = Zr(Lt({}, a, { externalSlotProps: s })), u = function(e, t, r) { return void 0 === e || "string" == typeof e ? t : Lt({}, t, { ownerState: Lt({}, t.ownerState, r) }); }(r, Lt({}, l, { ref: Rr(c, null == s ? void 0 : s.ref, null == (t = e.additionalProps) ? void 0 : t.ref) }), o); return u; } const tn = e__namespace.createContext(), rn = () => { const t = e__namespace.useContext(tn); return null != t && t; }; var nn, on = {}, an = { exports: {} }; (nn = an).exports = function(e) { return e && e.__esModule ? e : { default: e }; }, nn.exports.__esModule = !0, nn.exports.default = nn.exports; var sn, ln = an.exports, cn = { exports: {} }; var un, dn = { exports: {} }; var fn = function() { function e(e) { var t = this; this._insertTag = function(e) { var r; r = 0 === t.tags.length ? t.insertionPoint ? t.insertionPoint.nextSibling : t.prepend ? t.container.firstChild : t.before : t.tags[t.tags.length - 1].nextSibling, t.container.insertBefore(e, r), t.tags.push(e); }, this.isSpeedy = void 0 === e.speedy || e.speedy, this.tags = [], this.ctr = 0, this.nonce = e.nonce, this.key = e.key, this.container = e.container, this.prepend = e.prepend, this.insertionPoint = e.insertionPoint, this.before = null; } var t = e.prototype; return t.hydrate = function(e) { e.forEach(this._insertTag); }, t.insert = function(e) { this.ctr % (this.isSpeedy ? 65e3 : 1) == 0 && this._insertTag(function(e) { var t = document.createElement("style"); return t.setAttribute("data-emotion", e.key), void 0 !== e.nonce && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t; }(this)); var t = this.tags[this.tags.length - 1]; if (this.isSpeedy) { var r = function(e) { if (e.sheet) return e.sheet; for (var t = 0; t < document.styleSheets.length; t++) if (document.styleSheets[t].ownerNode === e) return document.styleSheets[t]; }(t); try { r.insertRule(e, r.cssRules.length); } catch (n) {} } else t.appendChild(document.createTextNode(e)); this.ctr++; }, t.flush = function() { this.tags.forEach((function(e) { return e.parentNode && e.parentNode.removeChild(e); })), this.tags = [], this.ctr = 0; }, e; }(), pn = "-ms-", hn = "-moz-", mn = "-webkit-", gn = "comm", yn = "rule", bn = "decl", vn = "@keyframes", xn = Math.abs, Sn = String.fromCharCode, wn = Object.assign; function kn(e) { return e.trim(); } function jn(e, t, r) { return e.replace(t, r); } function Cn(e, t) { return e.indexOf(t); } function Rn(e, t) { return 0 | e.charCodeAt(t); } function En(e, t, r) { return e.slice(t, r); } function On(e) { return e.length; } function Tn(e) { return e.length; } function $n(e, t) { return t.push(e), e; } var An = 1, Pn = 1, Mn = 0, _n = 0, In = 0, Bn = ""; function Fn(e, t, r, n, o, i, a) { return { value: e, root: t, parent: r, type: n, props: o, children: i, line: An, column: Pn, length: a, return: "" }; } function Nn(e, t) { return wn(Fn("", null, null, "", null, null, 0), e, { length: -e.length }, t); } function zn() { return In = _n < Mn ? Rn(Bn, _n++) : 0, Pn++, 10 === In && (Pn = 1, An++), In; } function Ln() { return Rn(Bn, _n); } function Dn() { return _n; } function Wn(e, t) { return En(Bn, e, t); } function Vn(e) { switch (e) { case 0: case 9: case 10: case 13: case 32: return 5; case 33: case 43: case 44: case 47: case 62: case 64: case 126: case 59: case 123: case 125: return 4; case 58: return 3; case 34: case 39: case 40: case 91: return 2; case 41: case 93: return 1; } return 0; } function Hn(e) { return An = Pn = 1, Mn = On(Bn = e), _n = 0, []; } function Kn(e) { return Bn = "", e; } function qn(e) { return kn(Wn(_n - 1, Gn(91 === e ? e + 2 : 40 === e ? e + 1 : e))); } function Xn(e) { for (;(In = Ln()) && In < 33; ) zn(); return Vn(e) > 2 || Vn(In) > 3 ? "" : " "; } function Un(e, t) { for (;--t && zn() && !(In < 48 || In > 102 || In > 57 && In < 65 || In > 70 && In < 97); ) ; return Wn(e, Dn() + (t < 6 && 32 == Ln() && 32 == zn())); } function Gn(e) { for (;zn(); ) switch (In) { case e: return _n; case 34: case 39: 34 !== e && 39 !== e && Gn(In); break; case 40: 41 === e && Gn(e); break; case 92: zn(); } return _n; } function Yn(e, t) { for (;zn() && e + In !== 57 && (e + In !== 84 || 47 !== Ln()); ) ; return "/*" + Wn(t, _n - 1) + "*" + Sn(47 === e ? e : zn()); } function Jn(e) { for (;!Vn(Ln()); ) zn(); return Wn(e, _n); } function Zn(e) { return Kn(Qn("", null, null, null, [ "" ], e = Hn(e), 0, [ 0 ], e)); } function Qn(e, t, r, n, o, i, a, s, l) { for (var c = 0, u = 0, d = a, f = 0, p = 0, h = 0, m = 1, g = 1, y = 1, b = 0, v = "", x = o, S = i, w = n, k = v; g; ) switch (h = b, b = zn()) { case 40: if (108 != h && 58 == Rn(k, d - 1)) { -1 != Cn(k += jn(qn(b), "&", "&\f"), "&\f") && (y = -1); break; } case 34: case 39: case 91: k += qn(b); break; case 9: case 10: case 13: case 32: k += Xn(h); break; case 92: k += Un(Dn() - 1, 7); continue; case 47: switch (Ln()) { case 42: case 47: $n(to(Yn(zn(), Dn()), t, r), l); break; default: k += "/"; } break; case 123 * m: s[c++] = On(k) * y; case 125 * m: case 59: case 0: switch (b) { case 0: case 125: g = 0; case 59 + u: -1 == y && (k = jn(k, /\f/g, "")), p > 0 && On(k) - d && $n(p > 32 ? ro(k + ";", n, r, d - 1) : ro(jn(k, " ", "") + ";", n, r, d - 2), l); break; case 59: k += ";"; default: if ($n(w = eo(k, t, r, c, u, o, s, v, x = [], S = [], d), i), 123 === b) if (0 === u) Qn(k, t, w, w, x, i, d, s, S); else switch (99 === f && 110 === Rn(k, 3) ? 100 : f) { case 100: case 108: case 109: case 115: Qn(e, w, w, n && $n(eo(e, w, w, 0, 0, o, s, v, o, x = [], d), S), o, S, d, s, n ? x : S); break; default: Qn(k, w, w, w, [ "" ], S, 0, s, S); } } c = u = p = 0, m = y = 1, v = k = "", d = a; break; case 58: d = 1 + On(k), p = h; default: if (m < 1) if (123 == b) --m; else if (125 == b && 0 == m++ && 125 == (In = _n > 0 ? Rn(Bn, --_n) : 0, Pn--, 10 === In && (Pn = 1, An--), In)) continue; switch (k += Sn(b), b * m) { case 38: y = u > 0 ? 1 : (k += "\f", -1); break; case 44: s[c++] = (On(k) - 1) * y, y = 1; break; case 64: 45 === Ln() && (k += qn(zn())), f = Ln(), u = d = On(v = k += Jn(Dn())), b++; break; case 45: 45 === h && 2 == On(k) && (m = 0); } } return i; } function eo(e, t, r, n, o, i, a, s, l, c, u) { for (var d = o - 1, f = 0 === o ? i : [ "" ], p = Tn(f), h = 0, m = 0, g = 0; h < n; ++h) for (var y = 0, b = En(e, d + 1, d = xn(m = a[h])), v = e; y < p; ++y) (v = kn(m > 0 ? f[y] + " " + b : jn(b, /&\f/g, f[y]))) && (l[g++] = v); return Fn(e, t, r, 0 === o ? yn : s, l, c, u); } function to(e, t, r) { return Fn(e, t, r, gn, Sn(In), En(e, 2, -2), 0); } function ro(e, t, r, n) { return Fn(e, t, r, bn, En(e, 0, n), En(e, n + 1, -1), n); } function no(e, t) { for (var r = "", n = Tn(e), o = 0; o < n; o++) r += t(e[o], o, e, t) || ""; return r; } function oo(e, t, r, n) { switch (e.type) { case "@layer": if (e.children.length) break; case "@import": case bn: return e.return = e.return || e.value; case gn: return ""; case vn: return e.return = e.value + "{" + no(e.children, n) + "}"; case yn: e.value = e.props.join(","); } return On(r = no(e.children, n)) ? e.return = e.value + "{" + r + "}" : ""; } var io = function(e, t, r) { for (var n = 0, o = 0; n = o, o = Ln(), 38 === n && 12 === o && (t[r] = 1), !Vn(o); ) zn(); return Wn(e, _n); }, ao = function(e, t) { return Kn(function(e, t) { var r = -1, n = 44; do { switch (Vn(n)) { case 0: 38 === n && 12 === Ln() && (t[r] = 1), e[r] += io(_n - 1, t, r); break; case 2: e[r] += qn(n); break; case 4: if (44 === n) { e[++r] = 58 === Ln() ? "&\f" : "", t[r] = e[r].length; break; } default: e[r] += Sn(n); } } while (n = zn()); return e; }(Hn(e), t)); }, so = new WeakMap, lo = function(e) { if ("rule" === e.type && e.parent && !(e.length < 1)) { for (var t = e.value, r = e.parent, n = e.column === r.column && e.line === r.line; "rule" !== r.type; ) if (!(r = r.parent)) return; if ((1 !== e.props.length || 58 === t.charCodeAt(0) || so.get(r)) && !n) { so.set(e, !0); for (var o = [], i = ao(t, o), a = r.props, s = 0, l = 0; s < i.length; s++) for (var c = 0; c < a.length; c++, l++) e.props[l] = o[s] ? i[s].replace(/&\f/g, a[c]) : a[c] + " " + i[s]; } } }, co = function(e) { if ("decl" === e.type) { var t = e.value; 108 === t.charCodeAt(0) && 98 === t.charCodeAt(2) && (e.return = "", e.value = ""); } }; function uo(e, t) { switch (function(e, t) { return 45 ^ Rn(e, 0) ? (((t << 2 ^ Rn(e, 0)) << 2 ^ Rn(e, 1)) << 2 ^ Rn(e, 2)) << 2 ^ Rn(e, 3) : 0; }(e, t)) { case 5103: return mn + "print-" + e + e; case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921: case 5572: case 6356: case 5844: case 3191: case 6645: case 3005: case 6391: case 5879: case 5623: case 6135: case 4599: case 4855: case 4215: case 6389: case 5109: case 5365: case 5621: case 3829: return mn + e + e; case 5349: case 4246: case 4810: case 6968: case 2756: return mn + e + hn + e + pn + e + e; case 6828: case 4268: return mn + e + pn + e + e; case 6165: return mn + e + pn + "flex-" + e + e; case 5187: return mn + e + jn(e, /(\w+).+(:[^]+)/, mn + "box-$1$2" + pn + "flex-$1$2") + e; case 5443: return mn + e + pn + "flex-item-" + jn(e, /flex-|-self/, "") + e; case 4675: return mn + e + pn + "flex-line-pack" + jn(e, /align-content|flex-|-self/, "") + e; case 5548: return mn + e + pn + jn(e, "shrink", "negative") + e; case 5292: return mn + e + pn + jn(e, "basis", "preferred-size") + e; case 6060: return mn + "box-" + jn(e, "-grow", "") + mn + e + pn + jn(e, "grow", "positive") + e; case 4554: return mn + jn(e, /([^-])(transform)/g, "$1" + mn + "$2") + e; case 6187: return jn(jn(jn(e, /(zoom-|grab)/, mn + "$1"), /(image-set)/, mn + "$1"), e, "") + e; case 5495: case 3959: return jn(e, /(image-set\([^]*)/, mn + "$1$`$1"); case 4968: return jn(jn(e, /(.+:)(flex-)?(.*)/, mn + "box-pack:$3" + pn + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + mn + e + e; case 4095: case 3583: case 4068: case 2532: return jn(e, /(.+)-inline(.+)/, mn + "$1$2") + e; case 8116: case 7059: case 5753: case 5535: case 5445: case 5701: case 4933: case 4677: case 5533: case 5789: case 5021: case 4765: if (On(e) - 1 - t > 6) switch (Rn(e, t + 1)) { case 109: if (45 !== Rn(e, t + 4)) break; case 102: return jn(e, /(.+:)(.+)-([^]+)/, "$1" + mn + "$2-$3$1" + hn + (108 == Rn(e, t + 3) ? "$3" : "$2-$3")) + e; case 115: return ~Cn(e, "stretch") ? uo(jn(e, "stretch", "fill-available"), t) + e : e; } break; case 4949: if (115 !== Rn(e, t + 1)) break; case 6444: switch (Rn(e, On(e) - 3 - (~Cn(e, "!important") && 10))) { case 107: return jn(e, ":", ":" + mn) + e; case 101: return jn(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + mn + (45 === Rn(e, 14) ? "inline-" : "") + "box$3$1" + mn + "$2$3$1" + pn + "$2box$3") + e; } break; case 5936: switch (Rn(e, t + 11)) { case 114: return mn + e + pn + jn(e, /[svh]\w+-[tblr]{2}/, "tb") + e; case 108: return mn + e + pn + jn(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e; case 45: return mn + e + pn + jn(e, /[svh]\w+-[tblr]{2}/, "lr") + e; } return mn + e + pn + e + e; } return e; } var fo = [ function(e, t, r, n) { if (e.length > -1 && !e.return) switch (e.type) { case bn: e.return = uo(e.value, e.length); break; case vn: return no([ Nn(e, { value: jn(e.value, "@", "@" + mn) }) ], n); case yn: if (e.length) return function(e, t) { return e.map(t).join(""); }(e.props, (function(t) { switch (function(e, t) { return (e = t.exec(e)) ? e[0] : e; }(t, /(::plac\w+|:read-\w+)/)) { case ":read-only": case ":read-write": return no([ Nn(e, { props: [ jn(t, /:(read-\w+)/, ":-moz-$1") ] }) ], n); case "::placeholder": return no([ Nn(e, { props: [ jn(t, /:(plac\w+)/, ":" + mn + "input-$1") ] }), Nn(e, { props: [ jn(t, /:(plac\w+)/, ":-moz-$1") ] }), Nn(e, { props: [ jn(t, /:(plac\w+)/, pn + "input-$1") ] }) ], n); } return ""; })); } } ]; let po; function ho(e, t) { return E(e, t); } "object" == typeof document && (po = function(e) { var t = e.key; if ("css" === t) { var r = document.querySelectorAll("style[data-emotion]:not([data-s])"); Array.prototype.forEach.call(r, (function(e) { -1 !== e.getAttribute("data-emotion").indexOf(" ") && (document.head.appendChild(e), e.setAttribute("data-s", "")); })); } var n, o, i = e.stylisPlugins || fo, a = {}, s = []; n = e.container || document.head, Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="' + t + ' "]'), (function(e) { for (var t = e.getAttribute("data-emotion").split(" "), r = 1; r < t.length; r++) a[t[r]] = !0; s.push(e); })); var l, c, u, d, f = [ oo, (d = function(e) { l.insert(e); }, function(e) { e.root || (e = e.return) && d(e); }) ], p = (c = [ lo, co ].concat(i, f), u = Tn(c), function(e, t, r, n) { for (var o = "", i = 0; i < u; i++) o += c[i](e, t, r, n) || ""; return o; }); o = function(e, t, r, n) { l = r, no(Zn(e ? e + "{" + t.styles + "}" : t.styles), p), n && (h.inserted[t.name] = !0); }; var h = { key: t, sheet: new fn({ key: t, container: n, nonce: e.nonce, speedy: e.speedy, prepend: e.prepend, insertionPoint: e.insertionPoint }), nonce: e.nonce, inserted: a, registered: {}, insert: o }; return h.sheet.hydrate(s), h; }({ key: "css", prepend: !0 })); const mo = B(Object.freeze(Object.defineProperty({ __proto__: null, GlobalStyles: function(e) { const {styles: t, defaultTheme: r = {}} = e, n = "function" == typeof t ? e => { return t(null == (n = e) || 0 === Object.keys(n).length ? r : e); var n; } : t; return q.jsx(react.Global, { styles: n }); }, StyledEngineProvider: function(e) { const {injectFirst: t, children: r} = e; return t && po ? q.jsx(react.CacheProvider, { value: po, children: r }) : r; }, ThemeContext: react.ThemeContext, css: react.css, default: ho, internal_processStyles: (e, t) => { Array.isArray(e.__emotion_styles) && (e.__emotion_styles = t(e.__emotion_styles)); }, keyframes: react.keyframes }, Symbol.toStringTag, { value: "Module" }))), go = B(dr), yo = B(xr), bo = B(br), vo = [ "values", "unit", "step" ], xo = e => { const t = Object.keys(e).map((t => ({ key: t, val: e[t] }))) || []; return t.sort(((e, t) => e.val - t.val)), t.reduce(((e, t) => Lt({}, e, { [t.key]: t.val })), {}); }; function So(e) { const {values: t = { xs: 0, sm: 600, md: 900, lg: 1200, xl: 1536 }, unit: r = "px", step: n = 5} = e, o = zt(e, vo), i = xo(t), a = Object.keys(i); function s(e) { return `@media (min-width:${"number" == typeof t[e] ? t[e] : e}${r})`; } function l(e) { return `@media (max-width:${("number" == typeof t[e] ? t[e] : e) - n / 100}${r})`; } function c(e, o) { const i = a.indexOf(o); return `@media (min-width:${"number" == typeof t[e] ? t[e] : e}${r}) and (max-width:${(-1 !== i && "number" == typeof t[a[i]] ? t[a[i]] : o) - n / 100}${r})`; } return Lt({ keys: a, values: i, up: s, down: l, between: c, only: function(e) { return a.indexOf(e) + 1 < a.length ? c(e, a[a.indexOf(e) + 1]) : s(e); }, not: function(e) { const t = a.indexOf(e); return 0 === t ? s(a[1]) : t === a.length - 1 ? l(a[t]) : c(e, a[a.indexOf(e) + 1]).replace("@media", "@media not all and"); }, unit: r }, o); } const wo = { borderRadius: 4 }; function ko(e, t) { return t ? ur(e, t, { clone: !1 }) : e; } const jo = { xs: 0, sm: 600, md: 900, lg: 1200, xl: 1536 }, Co = { keys: [ "xs", "sm", "md", "lg", "xl" ], up: e => `@media (min-width:${jo[e]}px)` }; function Ro(e, t, r) { const n = e.theme || {}; if (Array.isArray(t)) { const e = n.breakpoints || Co; return t.reduce(((n, o, i) => (n[e.up(e.keys[i])] = r(t[i]), n)), {}); } if ("object" == typeof t) { const e = n.breakpoints || Co; return Object.keys(t).reduce(((n, o) => { if (-1 !== Object.keys(e.values || jo).indexOf(o)) { n[e.up(o)] = r(t[o], o); } else { const e = o; n[e] = t[e]; } return n; }), {}); } return r(t); } function Eo(e, t, r = !0) { if (!t || "string" != typeof t) return null; if (e && e.vars && r) { const r = `vars.${t}`.split(".").reduce(((e, t) => e && e[t] ? e[t] : null), e); if (null != r) return r; } return t.split(".").reduce(((e, t) => e && null != e[t] ? e[t] : null), e); } function Oo(e, t, r, n = r) { let o; return o = "function" == typeof e ? e(r) : Array.isArray(e) ? e[r] || n : Eo(e, r) || n, t && (o = t(o, n, e)), o; } function To(e) { const {prop: t, cssProperty: r = e.prop, themeKey: n, transform: o} = e, i = e => { if (null == e[t]) return null; const i = e[t], a = Eo(e.theme, n) || {}; return Ro(e, i, (e => { let n = Oo(a, o, e); return e === n && "string" == typeof e && (n = Oo(a, o, `${t}${"default" === e ? "" : vr(e)}`, e)), !1 === r ? n : { [r]: n }; })); }; return i.propTypes = {}, i.filterProps = [ t ], i; } const $o = { m: "margin", p: "padding" }, Ao = { t: "Top", r: "Right", b: "Bottom", l: "Left", x: [ "Left", "Right" ], y: [ "Top", "Bottom" ] }, Po = { marginX: "mx", marginY: "my", paddingX: "px", paddingY: "py" }, Mo = function(e) { const t = {}; return r => (void 0 === t[r] && (t[r] = e(r)), t[r]); }((e => { if (e.length > 2) { if (!Po[e]) return [ e ]; e = Po[e]; } const [t, r] = e.split(""), n = $o[t], o = Ao[r] || ""; return Array.isArray(o) ? o.map((e => n + e)) : [ n + o ]; })), _o = [ "m", "mt", "mr", "mb", "ml", "mx", "my", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginX", "marginY", "marginInline", "marginInlineStart", "marginInlineEnd", "marginBlock", "marginBlockStart", "marginBlockEnd" ], Io = [ "p", "pt", "pr", "pb", "pl", "px", "py", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingX", "paddingY", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "paddingBlock", "paddingBlockStart", "paddingBlockEnd" ]; function Bo(e, t, r, n) { var o; const i = null != (o = Eo(e, t, !1)) ? o : r; return "number" == typeof i ? e => "string" == typeof e ? e : i * e : Array.isArray(i) ? e => "string" == typeof e ? e : i[e] : "function" == typeof i ? i : () => {}; } function Fo(e) { return Bo(e, "spacing", 8); } function No(e, t) { if ("string" == typeof t || null == t) return t; const r = e(Math.abs(t)); return t >= 0 ? r : "number" == typeof r ? -r : `-${r}`; } function zo(e, t, r, n) { if (-1 === t.indexOf(r)) return null; const o = function(e, t) { return r => e.reduce(((e, n) => (e[n] = No(t, r), e)), {}); }(Mo(r), n); return Ro(e, e[r], o); } function Lo(e, t) { const r = Fo(e.theme); return Object.keys(e).map((n => zo(e, t, n, r))).reduce(ko, {}); } function Do(e) { return Lo(e, _o); } function Wo(e) { return Lo(e, Io); } function Vo(...e) { const t = e.reduce(((e, t) => (t.filterProps.forEach((r => { e[r] = t; })), e)), {}), r = e => Object.keys(e).reduce(((r, n) => t[n] ? ko(r, t[n](e)) : r), {}); return r.propTypes = {}, r.filterProps = e.reduce(((e, t) => e.concat(t.filterProps)), []), r; } function Ho(e) { return "number" != typeof e ? e : `${e}px solid`; } function Ko(e, t) { return To({ prop: e, themeKey: "borders", transform: t }); } Do.propTypes = {}, Do.filterProps = _o, Wo.propTypes = {}, Wo.filterProps = Io; const qo = Ko("border", Ho), Xo = Ko("borderTop", Ho), Uo = Ko("borderRight", Ho), Go = Ko("borderBottom", Ho), Yo = Ko("borderLeft", Ho), Jo = Ko("borderColor"), Zo = Ko("borderTopColor"), Qo = Ko("borderRightColor"), ei = Ko("borderBottomColor"), ti = Ko("borderLeftColor"), ri = Ko("outline", Ho), ni = Ko("outlineColor"), oi = e => { if (void 0 !== e.borderRadius && null !== e.borderRadius) { const t = Bo(e.theme, "shape.borderRadius", 4), r = e => ({ borderRadius: No(t, e) }); return Ro(e, e.borderRadius, r); } return null; }; oi.propTypes = {}, oi.filterProps = [ "borderRadius" ], Vo(qo, Xo, Uo, Go, Yo, Jo, Zo, Qo, ei, ti, oi, ri, ni); const ii = e => { if (void 0 !== e.gap && null !== e.gap) { const t = Bo(e.theme, "spacing", 8), r = e => ({ gap: No(t, e) }); return Ro(e, e.gap, r); } return null; }; ii.propTypes = {}, ii.filterProps = [ "gap" ]; const ai = e => { if (void 0 !== e.columnGap && null !== e.columnGap) { const t = Bo(e.theme, "spacing", 8), r = e => ({ columnGap: No(t, e) }); return Ro(e, e.columnGap, r); } return null; }; ai.propTypes = {}, ai.filterProps = [ "columnGap" ]; const si = e => { if (void 0 !== e.rowGap && null !== e.rowGap) { const t = Bo(e.theme, "spacing", 8), r = e => ({ rowGap: No(t, e) }); return Ro(e, e.rowGap, r); } return null; }; si.propTypes = {}, si.filterProps = [ "rowGap" ]; function li(e, t) { return "grey" === t ? t : e; } Vo(ii, ai, si, To({ prop: "gridColumn" }), To({ prop: "gridRow" }), To({ prop: "gridAutoFlow" }), To({ prop: "gridAutoColumns" }), To({ prop: "gridAutoRows" }), To({ prop: "gridTemplateColumns" }), To({ prop: "gridTemplateRows" }), To({ prop: "gridTemplateAreas" }), To({ prop: "gridArea" })); function ci(e) { return e <= 1 && 0 !== e ? 100 * e + "%" : e; } Vo(To({ prop: "color", themeKey: "palette", transform: li }), To({ prop: "bgcolor", cssProperty: "backgroundColor", themeKey: "palette", transform: li }), To({ prop: "backgroundColor", themeKey: "palette", transform: li })); const ui = To({ prop: "width", transform: ci }), di = e => { if (void 0 !== e.maxWidth && null !== e.maxWidth) { const t = t => { var r, n; const o = (null == (r = e.theme) || null == (r = r.breakpoints) || null == (r = r.values) ? void 0 : r[t]) || jo[t]; return o ? "px" !== (null == (n = e.theme) || null == (n = n.breakpoints) ? void 0 : n.unit) ? { maxWidth: `${o}${e.theme.breakpoints.unit}` } : { maxWidth: o } : { maxWidth: ci(t) }; }; return Ro(e, e.maxWidth, t); } return null; }; di.filterProps = [ "maxWidth" ]; const fi = To({ prop: "minWidth", transform: ci }), pi = To({ prop: "height", transform: ci }), hi = To({ prop: "maxHeight", transform: ci }), mi = To({ prop: "minHeight", transform: ci }); To({ prop: "size", cssProperty: "width", transform: ci }), To({ prop: "size", cssProperty: "height", transform: ci }); Vo(ui, di, fi, pi, hi, mi, To({ prop: "boxSizing" })); const gi = { border: { themeKey: "borders", transform: Ho }, borderTop: { themeKey: "borders", transform: Ho }, borderRight: { themeKey: "borders", transform: Ho }, borderBottom: { themeKey: "borders", transform: Ho }, borderLeft: { themeKey: "borders", transform: Ho }, borderColor: { themeKey: "palette" }, borderTopColor: { themeKey: "palette" }, borderRightColor: { themeKey: "palette" }, borderBottomColor: { themeKey: "palette" }, borderLeftColor: { themeKey: "palette" }, outline: { themeKey: "borders", transform: Ho }, outlineColor: { themeKey: "palette" }, borderRadius: { themeKey: "shape.borderRadius", style: oi }, color: { themeKey: "palette", transform: li }, bgcolor: { themeKey: "palette", cssProperty: "backgroundColor", transform: li }, backgroundColor: { themeKey: "palette", transform: li }, p: { style: Wo }, pt: { style: Wo }, pr: { style: Wo }, pb: { style: Wo }, pl: { style: Wo }, px: { style: Wo }, py: { style: Wo }, padding: { style: Wo }, paddingTop: { style: Wo }, paddingRight: { style: Wo }, paddingBottom: { style: Wo }, paddingLeft: { style: Wo }, paddingX: { style: Wo }, paddingY: { style: Wo }, paddingInline: { style: Wo }, paddingInlineStart: { style: Wo }, paddingInlineEnd: { style: Wo }, paddingBlock: { style: Wo }, paddingBlockStart: { style: Wo }, paddingBlockEnd: { style: Wo }, m: { style: Do }, mt: { style: Do }, mr: { style: Do }, mb: { style: Do }, ml: { style: Do }, mx: { style: Do }, my: { style: Do }, margin: { style: Do }, marginTop: { style: Do }, marginRight: { style: Do }, marginBottom: { style: Do }, marginLeft: { style: Do }, marginX: { style: Do }, marginY: { style: Do }, marginInline: { style: Do }, marginInlineStart: { style: Do }, marginInlineEnd: { style: Do }, marginBlock: { style: Do }, marginBlockStart: { style: Do }, marginBlockEnd: { style: Do }, displayPrint: { cssProperty: !1, transform: e => ({ "@media print": { display: e } }) }, display: {}, overflow: {}, textOverflow: {}, visibility: {}, whiteSpace: {}, flexBasis: {}, flexDirection: {}, flexWrap: {}, justifyContent: {}, alignItems: {}, alignContent: {}, order: {}, flex: {}, flexGrow: {}, flexShrink: {}, alignSelf: {}, justifyItems: {}, justifySelf: {}, gap: { style: ii }, rowGap: { style: si }, columnGap: { style: ai }, gridColumn: {}, gridRow: {}, gridAutoFlow: {}, gridAutoColumns: {}, gridAutoRows: {}, gridTemplateColumns: {}, gridTemplateRows: {}, gridTemplateAreas: {}, gridArea: {}, position: {}, zIndex: { themeKey: "zIndex" }, top: {}, right: {}, bottom: {}, left: {}, boxShadow: { themeKey: "shadows" }, width: { transform: ci }, maxWidth: { style: di }, minWidth: { transform: ci }, height: { transform: ci }, maxHeight: { transform: ci }, minHeight: { transform: ci }, boxSizing: {}, fontFamily: { themeKey: "typography" }, fontSize: { themeKey: "typography" }, fontStyle: { themeKey: "typography" }, fontWeight: { themeKey: "typography" }, letterSpacing: {}, textTransform: {}, lineHeight: {}, textAlign: {}, typography: { cssProperty: !1, themeKey: "typography" } }; function yi() { function e(e, t, r, n) { const o = { [e]: t, theme: r }, i = n[e]; if (!i) return { [e]: t }; const {cssProperty: a = e, themeKey: s, transform: l, style: c} = i; if (null == t) return null; if ("typography" === s && "inherit" === t) return { [e]: t }; const u = Eo(r, s) || {}; if (c) return c(o); return Ro(o, t, (t => { let r = Oo(u, l, t); return t === r && "string" == typeof t && (r = Oo(u, l, `${e}${"default" === t ? "" : vr(t)}`, t)), !1 === a ? r : { [a]: r }; })); } return function t(r) { var n; const {sx: o, theme: i = {}} = r || {}; if (!o) return null; const a = null != (n = i.unstable_sxConfig) ? n : gi; function s(r) { let n = r; if ("function" == typeof r) n = r(i); else if ("object" != typeof r) return r; if (!n) return null; const o = function(e = {}) { var t; return (null == (t = e.keys) ? void 0 : t.reduce(((t, r) => (t[e.up(r)] = {}, t)), {})) || {}; }(i.breakpoints), s = Object.keys(o); let l = o; return Object.keys(n).forEach((r => { const o = (s = n[r], c = i, "function" == typeof s ? s(c) : s); var s, c; if (null != o) if ("object" == typeof o) if (a[r]) l = ko(l, e(r, o, i, a)); else { const e = Ro({ theme: i }, o, (e => ({ [r]: e }))); !function(...e) { const t = e.reduce(((e, t) => e.concat(Object.keys(t))), []), r = new Set(t); return e.every((e => r.size === Object.keys(e).length)); }(e, o) ? l = ko(l, e) : l[r] = t({ sx: o, theme: i }); } else l = ko(l, e(r, o, i, a)); })), c = l, s.reduce(((e, t) => { const r = e[t]; return (!r || 0 === Object.keys(r).length) && delete e[t], e; }), c); var c; } return Array.isArray(o) ? o.map(s) : s(o); }; } const bi = yi(); bi.filterProps = [ "sx" ]; const vi = bi; function xi(e, t) { const r = this; if (r.vars && "function" == typeof r.getColorSchemeSelector) { return { [r.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/, "*:where($1)")]: t }; } return r.palette.mode === e ? t : {}; } const Si = [ "breakpoints", "palette", "spacing", "shape" ]; function wi(e = {}, ...t) { const {breakpoints: r = {}, palette: n = {}, spacing: o, shape: i = {}} = e, a = zt(e, Si), s = So(r), l = function(e = 8) { if (e.mui) return e; const t = Fo({ spacing: e }), r = (...e) => (0 === e.length ? [ 1 ] : e).map((e => { const r = t(e); return "number" == typeof r ? `${r}px` : r; })).join(" "); return r.mui = !0, r; }(o); let c = ur({ breakpoints: s, direction: "ltr", components: {}, palette: Lt({ mode: "light" }, n), spacing: l, shape: Lt({}, wo, i) }, a); return c.applyStyles = xi, c = t.reduce(((e, t) => ur(e, t)), c), c.unstable_sxConfig = Lt({}, gi, null == a ? void 0 : a.unstable_sxConfig), c.unstable_sx = function(e) { return vi({ sx: e, theme: this }); }, c; } const ki = B(Object.freeze(Object.defineProperty({ __proto__: null, default: wi, private_createBreakpoints: So, unstable_applyStyles: xi }, Symbol.toStringTag, { value: "Module" }))), ji = [ "sx" ], Ci = e => { var t, r; const n = { systemProps: {}, otherProps: {} }, o = null != (t = null == e || null == (r = e.theme) ? void 0 : r.unstable_sxConfig) ? t : gi; return Object.keys(e).forEach((t => { o[t] ? n.systemProps[t] = e[t] : n.otherProps[t] = e[t]; })), n; }; function Ri(e) { const {sx: t} = e, r = zt(e, ji), {systemProps: n, otherProps: o} = Ci(r); let i; return i = Array.isArray(t) ? [ n, ...t ] : "function" == typeof t ? (...e) => { const r = t(...e); return lr(r) ? Lt({}, n, r) : n; } : Lt({}, n, t), Lt({}, o, { sx: i }); } const Ei = B(Object.freeze(Object.defineProperty({ __proto__: null, default: vi, extendSxProp: Ri, unstable_createStyleFunctionSx: yi, unstable_defaultSxConfig: gi }, Symbol.toStringTag, { value: "Module" }))); var Oi = ln; Object.defineProperty(on, "__esModule", { value: !0 }); var Ti = on.default = function(e = {}) { const {themeId: t, defaultTheme: r = Wi, rootShouldForwardProp: n = Di, slotShouldForwardProp: o = Di} = e, i = e => (0, Bi.default)((0, Ai.default)({}, e, { theme: Hi((0, Ai.default)({}, e, { defaultTheme: r, themeId: t })) })); return i.__mui_systemSx = !0, (e, a = {}) => { (0, Mi.internal_processStyles)(e, (e => e.filter((e => !(null != e && e.__mui_systemSx))))); const {name: s, slot: l, skipVariantsResolver: c, skipSx: u, overridesResolver: d = Ki(Vi(l))} = a, f = (0, Pi.default)(a, zi), p = void 0 !== c ? c : l && "Root" !== l && "root" !== l || !1, h = u || !1; let m = Di; "Root" === l || "root" === l ? m = n : l ? m = o : function(e) { return "string" == typeof e && e.charCodeAt(0) > 96; }(e) && (m = void 0); const g = (0, Mi.default)(e, (0, Ai.default)({ shouldForwardProp: m, label: undefined }, f)), y = e => "function" == typeof e && e.__emotion_real !== e || (0, _i.isPlainObject)(e) ? n => qi(e, (0, Ai.default)({}, n, { theme: Hi({ theme: n.theme, defaultTheme: r, themeId: t }) })) : e, b = (n, ...o) => { let a = y(n); const l = o ? o.map(y) : []; s && d && l.push((e => { const n = Hi((0, Ai.default)({}, e, { defaultTheme: r, themeId: t })); if (!n.components || !n.components[s] || !n.components[s].styleOverrides) return null; const o = n.components[s].styleOverrides, i = {}; return Object.entries(o).forEach((([t, r]) => { i[t] = qi(r, (0, Ai.default)({}, e, { theme: n })); })), d(e, i); })), s && !p && l.push((e => { var n; const o = Hi((0, Ai.default)({}, e, { defaultTheme: r, themeId: t })); return qi({ variants: null == o || null == (n = o.components) || null == (n = n[s]) ? void 0 : n.variants }, (0, Ai.default)({}, e, { theme: o })); })), h || l.push(i); const c = l.length - o.length; if (Array.isArray(n) && c > 0) { const e = new Array(c).fill(""); a = [ ...n, ...e ], a.raw = [ ...n.raw, ...e ]; } const u = g(a, ...l); return e.muiName && (u.muiName = e.muiName), u; }; return g.withConfig && (b.withConfig = g.withConfig), b; }; }, $i = on.shouldForwardProp = Di; on.systemDefaultTheme = void 0; var Ai = Oi((sn || (sn = 1, function(e) { function t() { return e.exports = t = Object.assign ? Object.assign.bind() : function(e) { for (var t = 1; t < arguments.length; t++) { var r = arguments[t]; for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]); } return e; }, e.exports.__esModule = !0, e.exports.default = e.exports, t.apply(this, arguments); } e.exports = t, e.exports.__esModule = !0, e.exports.default = e.exports; }(cn)), cn.exports)), Pi = Oi((un || (un = 1, function(e) { e.exports = function(e, t) { if (null == e) return {}; var r, n, o = {}, i = Object.keys(e); for (n = 0; n < i.length; n++) r = i[n], t.indexOf(r) >= 0 || (o[r] = e[r]); return o; }, e.exports.__esModule = !0, e.exports.default = e.exports; }(dn)), dn.exports)), Mi = function(e, t) { if (!t && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var r = Li(t); if (r && r.has(e)) return r.get(e); var n = { __proto__: null }, o = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var i in e) if ("default" !== i && Object.prototype.hasOwnProperty.call(e, i)) { var a = o ? Object.getOwnPropertyDescriptor(e, i) : null; a && (a.get || a.set) ? Object.defineProperty(n, i, a) : n[i] = e[i]; } return n.default = e, r && r.set(e, n), n; }(mo), _i = go; Oi(yo), Oi(bo); var Ii = Oi(ki), Bi = Oi(Ei); const Fi = [ "ownerState" ], Ni = [ "variants" ], zi = [ "name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver" ]; function Li(e) { if ("function" != typeof WeakMap) return null; var t = new WeakMap, r = new WeakMap; return (Li = function(e) { return e ? r : t; })(e); } function Di(e) { return "ownerState" !== e && "theme" !== e && "sx" !== e && "as" !== e; } const Wi = on.systemDefaultTheme = (0, Ii.default)(), Vi = e => e ? e.charAt(0).toLowerCase() + e.slice(1) : e; function Hi({defaultTheme: e, theme: t, themeId: r}) { return n = t, 0 === Object.keys(n).length ? e : t[r] || t; var n; } function Ki(e) { return e ? (t, r) => r[e] : null; } function qi(e, t) { let {ownerState: r} = t, n = (0, Pi.default)(t, Fi); const o = "function" == typeof e ? e((0, Ai.default)({ ownerState: r }, n)) : e; if (Array.isArray(o)) return o.flatMap((e => qi(e, (0, Ai.default)({ ownerState: r }, n)))); if (o && "object" == typeof o && Array.isArray(o.variants)) { const {variants: e = []} = o; let t = (0, Pi.default)(o, Ni); return e.forEach((e => { let o = !0; "function" == typeof e.props ? o = e.props((0, Ai.default)({ ownerState: r }, n, r)) : Object.keys(e.props).forEach((t => { (null == r ? void 0 : r[t]) !== e.props[t] && n[t] !== e.props[t] && (o = !1); })), o && (Array.isArray(t) || (t = [ t ]), t.push("function" == typeof e.style ? e.style((0, Ai.default)({ ownerState: r }, n, r)) : e.style)); })), t; } return o; } var Xi = {}; const Ui = B(pr), Gi = B(Yr); var Yi = ln; Object.defineProperty(Xi, "__esModule", { value: !0 }), Xi.alpha = ca, Xi.blend = function(e, t, r, n = 1) { const o = (e, t) => Math.round((e ** (1 / n) * (1 - r) + t ** (1 / n) * r) ** n), i = oa(e), a = oa(t); return aa({ type: "rgb", values: [ o(i.values[0], a.values[0]), o(i.values[1], a.values[1]), o(i.values[2], a.values[2]) ] }); }, Xi.colorChannel = void 0; var Ji = Xi.darken = ua; Xi.decomposeColor = oa, Xi.emphasize = function(e, t = .15) { return la(e) > .5 ? ua(e, t) : da(e, t); }; var Zi = Xi.getContrastRatio = function(e, t) { const r = la(e), n = la(t); return (Math.max(r, n) + .05) / (Math.min(r, n) + .05); }; Xi.getLuminance = la, Xi.hexToRgb = na, Xi.hslToRgb = sa; var Qi = Xi.lighten = da; Xi.private_safeAlpha = function(e, t, r) { try { return ca(e, t); } catch (n) { return e; } }, Xi.private_safeColorChannel = void 0, Xi.private_safeDarken = function(e, t, r) { try { return ua(e, t); } catch (n) { return e; } }, Xi.private_safeEmphasize = function e(t, r, n) { try { return e(t, r); } catch (o) { return t; } }, Xi.private_safeLighten = function(e, t, r) { try { return da(e, t); } catch (n) { return e; } }, Xi.recomposeColor = aa, Xi.rgbToHex = function(e) { if (0 === e.indexOf("#")) return e; const {values: t} = oa(e); return `#${t.map(((e, t) => function(e) { const t = e.toString(16); return 1 === t.length ? `0${t}` : t; }(3 === t ? Math.round(255 * e) : e))).join("")}`; }; var ea = Yi(Ui), ta = Yi(Gi); function ra(e, t = 0, r = 1) { return (0, ta.default)(e, t, r); } function na(e) { e = e.slice(1); const t = new RegExp(`.{1,${e.length >= 6 ? 2 : 1}}`, "g"); let r = e.match(t); return r && 1 === r[0].length && (r = r.map((e => e + e))), r ? `rgb${4 === r.length ? "a" : ""}(${r.map(((e, t) => t < 3 ? parseInt(e, 16) : Math.round(parseInt(e, 16) / 255 * 1e3) / 1e3)).join(", ")})` : ""; } function oa(e) { if (e.type) return e; if ("#" === e.charAt(0)) return oa(na(e)); const t = e.indexOf("("), r = e.substring(0, t); if (-1 === [ "rgb", "rgba", "hsl", "hsla", "color" ].indexOf(r)) throw new Error((0, ea.default)(9, e)); let n, o = e.substring(t + 1, e.length - 1); if ("color" === r) { if (o = o.split(" "), n = o.shift(), 4 === o.length && "/" === o[3].charAt(0) && (o[3] = o[3].slice(1)), -1 === [ "srgb", "display-p3", "a98-rgb", "prophoto-rgb", "rec-2020" ].indexOf(n)) throw new Error((0, ea.default)(10, n)); } else o = o.split(","); return o = o.map((e => parseFloat(e))), { type: r, values: o, colorSpace: n }; } const ia = e => { const t = oa(e); return t.values.slice(0, 3).map(((e, r) => -1 !== t.type.indexOf("hsl") && 0 !== r ? `${e}%` : e)).join(" "); }; Xi.colorChannel = ia; function aa(e) { const {type: t, colorSpace: r} = e; let {values: n} = e; return -1 !== t.indexOf("rgb") ? n = n.map(((e, t) => t < 3 ? parseInt(e, 10) : e)) : -1 !== t.indexOf("hsl") && (n[1] = `${n[1]}%`, n[2] = `${n[2]}%`), n = -1 !== t.indexOf("color") ? `${r} ${n.join(" ")}` : `${n.join(", ")}`, `${t}(${n})`; } function sa(e) { e = oa(e); const {values: t} = e, r = t[0], n = t[1] / 100, o = t[2] / 100, i = n * Math.min(o, 1 - o), a = (e, t = (e + r / 30) % 12) => o - i * Math.max(Math.min(t - 3, 9 - t, 1), -1); let s = "rgb"; const l = [ Math.round(255 * a(0)), Math.round(255 * a(8)), Math.round(255 * a(4)) ]; return "hsla" === e.type && (s += "a", l.push(t[3])), aa({ type: s, values: l }); } function la(e) { let t = "hsl" === (e = oa(e)).type || "hsla" === e.type ? oa(sa(e)).values : e.values; return t = t.map((t => ("color" !== e.type && (t /= 255), t <= .03928 ? t / 12.92 : ((t + .055) / 1.055) ** 2.4))), Number((.2126 * t[0] + .7152 * t[1] + .0722 * t[2]).toFixed(3)); } function ca(e, t) { return e = oa(e), t = ra(t), "rgb" !== e.type && "hsl" !== e.type || (e.type += "a"), "color" === e.type ? e.values[3] = `/${t}` : e.values[3] = t, aa(e); } function ua(e, t) { if (e = oa(e), t = ra(t), -1 !== e.type.indexOf("hsl")) e.values[2] *= 1 - t; else if (-1 !== e.type.indexOf("rgb") || -1 !== e.type.indexOf("color")) for (let r = 0; r < 3; r += 1) e.values[r] *= 1 - t; return aa(e); } function da(e, t) { if (e = oa(e), t = ra(t), -1 !== e.type.indexOf("hsl")) e.values[2] += (100 - e.values[2]) * t; else if (-1 !== e.type.indexOf("rgb")) for (let r = 0; r < 3; r += 1) e.values[r] += (255 - e.values[r]) * t; else if (-1 !== e.type.indexOf("color")) for (let r = 0; r < 3; r += 1) e.values[r] += (1 - e.values[r]) * t; return aa(e); } Xi.private_safeColorChannel = (e, t) => { try { return ia(e); } catch (r) { return e; } }; const fa = { black: "#000", white: "#fff" }, pa = { 50: "#fafafa", 100: "#f5f5f5", 200: "#eeeeee", 300: "#e0e0e0", 400: "#bdbdbd", 500: "#9e9e9e", 600: "#757575", 700: "#616161", 800: "#424242", 900: "#212121", A100: "#f5f5f5", A200: "#eeeeee", A400: "#bdbdbd", A700: "#616161" }, ha = { 50: "#f3e5f5", 100: "#e1bee7", 200: "#ce93d8", 300: "#ba68c8", 400: "#ab47bc", 500: "#9c27b0", 600: "#8e24aa", 700: "#7b1fa2", 800: "#6a1b9a", 900: "#4a148c", A100: "#ea80fc", A200: "#e040fb", A400: "#d500f9", A700: "#aa00ff" }, ma = { 50: "#ffebee", 100: "#ffcdd2", 200: "#ef9a9a", 300: "#e57373", 400: "#ef5350", 500: "#f44336", 600: "#e53935", 700: "#d32f2f", 800: "#c62828", 900: "#b71c1c", A100: "#ff8a80", A200: "#ff5252", A400: "#ff1744", A700: "#d50000" }, ga = { 50: "#fff3e0", 100: "#ffe0b2", 200: "#ffcc80", 300: "#ffb74d", 400: "#ffa726", 500: "#ff9800", 600: "#fb8c00", 700: "#f57c00", 800: "#ef6c00", 900: "#e65100", A100: "#ffd180", A200: "#ffab40", A400: "#ff9100", A700: "#ff6d00" }, ya = { 50: "#e3f2fd", 100: "#bbdefb", 200: "#90caf9", 300: "#64b5f6", 400: "#42a5f5", 500: "#2196f3", 600: "#1e88e5", 700: "#1976d2", 800: "#1565c0", 900: "#0d47a1", A100: "#82b1ff", A200: "#448aff", A400: "#2979ff", A700: "#2962ff" }, ba = { 50: "#e1f5fe", 100: "#b3e5fc", 200: "#81d4fa", 300: "#4fc3f7", 400: "#29b6f6", 500: "#03a9f4", 600: "#039be5", 700: "#0288d1", 800: "#0277bd", 900: "#01579b", A100: "#80d8ff", A200: "#40c4ff", A400: "#00b0ff", A700: "#0091ea" }, va = { 50: "#e8f5e9", 100: "#c8e6c9", 200: "#a5d6a7", 300: "#81c784", 400: "#66bb6a", 500: "#4caf50", 600: "#43a047", 700: "#388e3c", 800: "#2e7d32", 900: "#1b5e20", A100: "#b9f6ca", A200: "#69f0ae", A400: "#00e676", A700: "#00c853" }, xa = [ "mode", "contrastThreshold", "tonalOffset" ], Sa = { text: { primary: "rgba(0, 0, 0, 0.87)", secondary: "rgba(0, 0, 0, 0.6)", disabled: "rgba(0, 0, 0, 0.38)" }, divider: "rgba(0, 0, 0, 0.12)", background: { paper: fa.white, default: fa.white }, action: { active: "rgba(0, 0, 0, 0.54)", hover: "rgba(0, 0, 0, 0.04)", hoverOpacity: .04, selected: "rgba(0, 0, 0, 0.08)", selectedOpacity: .08, disabled: "rgba(0, 0, 0, 0.26)", disabledBackground: "rgba(0, 0, 0, 0.12)", disabledOpacity: .38, focus: "rgba(0, 0, 0, 0.12)", focusOpacity: .12, activatedOpacity: .12 } }, wa = { text: { primary: fa.white, secondary: "rgba(255, 255, 255, 0.7)", disabled: "rgba(255, 255, 255, 0.5)", icon: "rgba(255, 255, 255, 0.5)" }, divider: "rgba(255, 255, 255, 0.12)", background: { paper: "#121212", default: "#121212" }, action: { active: fa.white, hover: "rgba(255, 255, 255, 0.08)", hoverOpacity: .08, selected: "rgba(255, 255, 255, 0.16)", selectedOpacity: .16, disabled: "rgba(255, 255, 255, 0.3)", disabledBackground: "rgba(255, 255, 255, 0.12)", disabledOpacity: .38, focus: "rgba(255, 255, 255, 0.12)", focusOpacity: .12, activatedOpacity: .24 } }; function ka(e, t, r, n) { const o = n.light || n, i = n.dark || 1.5 * n; e[t] || (e.hasOwnProperty(r) ? e[t] = e[r] : "light" === t ? e.light = Qi(e.main, o) : "dark" === t && (e.dark = Ji(e.main, i))); } function ja(e) { const {mode: t = "light", contrastThreshold: r = 3, tonalOffset: n = .2} = e, o = zt(e, xa), i = e.primary || function(e = "light") { return "dark" === e ? { main: ya[200], light: ya[50], dark: ya[400] } : { main: ya[700], light: ya[400], dark: ya[800] }; }(t), a = e.secondary || function(e = "light") { return "dark" === e ? { main: ha[200], light: ha[50], dark: ha[400] } : { main: ha[500], light: ha[300], dark: ha[700] }; }(t), s = e.error || function(e = "light") { return "dark" === e ? { main: ma[500], light: ma[300], dark: ma[700] } : { main: ma[700], light: ma[400], dark: ma[800] }; }(t), l = e.info || function(e = "light") { return "dark" === e ? { main: ba[400], light: ba[300], dark: ba[700] } : { main: ba[700], light: ba[500], dark: ba[900] }; }(t), c = e.success || function(e = "light") { return "dark" === e ? { main: va[400], light: va[300], dark: va[700] } : { main: va[800], light: va[500], dark: va[900] }; }(t), u = e.warning || function(e = "light") { return "dark" === e ? { main: ga[400], light: ga[300], dark: ga[700] } : { main: "#ed6c02", light: ga[500], dark: ga[900] }; }(t); function d(e) { return Zi(e, wa.text.primary) >= r ? wa.text.primary : Sa.text.primary; } const f = ({color: e, name: t, mainShade: r = 500, lightShade: o = 300, darkShade: i = 700}) => { if (!(e = Lt({}, e)).main && e[r] && (e.main = e[r]), !e.hasOwnProperty("main")) throw new Error(fr(11, t ? ` (${t})` : "", r)); if ("string" != typeof e.main) throw new Error(fr(12, t ? ` (${t})` : "", JSON.stringify(e.main))); return ka(e, "light", o, n), ka(e, "dark", i, n), e.contrastText || (e.contrastText = d(e.main)), e; }, p = { dark: wa, light: Sa }; return ur(Lt({ common: Lt({}, fa), mode: t, primary: f({ color: i, name: "primary" }), secondary: f({ color: a, name: "secondary", mainShade: "A400", lightShade: "A200", darkShade: "A700" }), error: f({ color: s, name: "error" }), warning: f({ color: u, name: "warning" }), info: f({ color: l, name: "info" }), success: f({ color: c, name: "success" }), grey: pa, contrastThreshold: r, getContrastText: d, augmentColor: f, tonalOffset: n }, p[t]), o); } const Ca = [ "fontFamily", "fontSize", "fontWeightLight", "fontWeightRegular", "fontWeightMedium", "fontWeightBold", "htmlFontSize", "allVariants", "pxToRem" ]; const Ra = { textTransform: "uppercase" }, Ea = '"Roboto", "Helvetica", "Arial", sans-serif'; function Oa(e, t) { const r = "function" == typeof t ? t(e) : t, {fontFamily: n = Ea, fontSize: o = 14, fontWeightLight: i = 300, fontWeightRegular: a = 400, fontWeightMedium: s = 500, fontWeightBold: l = 700, htmlFontSize: c = 16, allVariants: u, pxToRem: d} = r, f = zt(r, Ca), p = o / 14, h = d || (e => e / c * p + "rem"), m = (e, t, r, o, i) => { return Lt({ fontFamily: n, fontWeight: e, fontSize: h(t), lineHeight: r }, n === Ea ? { letterSpacing: (a = o / t, Math.round(1e5 * a) / 1e5) + "em" } : {}, i, u); var a; }, g = { h1: m(i, 96, 1.167, -1.5), h2: m(i, 60, 1.2, -.5), h3: m(a, 48, 1.167, 0), h4: m(a, 34, 1.235, .25), h5: m(a, 24, 1.334, 0), h6: m(s, 20, 1.6, .15), subtitle1: m(a, 16, 1.75, .15), subtitle2: m(s, 14, 1.57, .1), body1: m(a, 16, 1.5, .15), body2: m(a, 14, 1.43, .15), button: m(s, 14, 1.75, .4, Ra), caption: m(a, 12, 1.66, .4), overline: m(a, 12, 2.66, 1, Ra), inherit: { fontFamily: "inherit", fontWeight: "inherit", fontSize: "inherit", lineHeight: "inherit", letterSpacing: "inherit" } }; return ur(Lt({ htmlFontSize: c, pxToRem: h, fontFamily: n, fontSize: o, fontWeightLight: i, fontWeightRegular: a, fontWeightMedium: s, fontWeightBold: l }, g), f, { clone: !1 }); } function Ta(...e) { return [ `${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,0.2)`, `${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,0.14)`, `${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,0.12)` ].join(","); } const $a = [ "none", Ta(0, 2, 1, -1, 0, 1, 1, 0, 0, 1, 3, 0), Ta(0, 3, 1, -2, 0, 2, 2, 0, 0, 1, 5, 0), Ta(0, 3, 3, -2, 0, 3, 4, 0, 0, 1, 8, 0), Ta(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), Ta(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), Ta(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), Ta(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), Ta(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), Ta(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), Ta(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), Ta(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), Ta(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), Ta(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), Ta(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), Ta(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), Ta(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), Ta(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), Ta(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), Ta(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), Ta(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), Ta(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), Ta(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), Ta(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), Ta(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8) ], Aa = [ "duration", "easing", "delay" ], Pa = { easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)", easeOut: "cubic-bezier(0.0, 0, 0.2, 1)", easeIn: "cubic-bezier(0.4, 0, 1, 1)", sharp: "cubic-bezier(0.4, 0, 0.6, 1)" }, Ma = { shortest: 150, shorter: 200, short: 250, standard: 300, complex: 375, enteringScreen: 225, leavingScreen: 195 }; function _a(e) { return `${Math.round(e)}ms`; } function Ia(e) { if (!e) return 0; const t = e / 36; return Math.round(10 * (4 + 15 * t ** .25 + t / 5)); } function Ba(e) { const t = Lt({}, Pa, e.easing), r = Lt({}, Ma, e.duration); return Lt({ getAutoHeightDuration: Ia, create: (e = [ "all" ], n = {}) => { const {duration: o = r.standard, easing: i = t.easeInOut, delay: a = 0} = n; return zt(n, Aa), (Array.isArray(e) ? e : [ e ]).map((e => `${e} ${"string" == typeof o ? o : _a(o)} ${i} ${"string" == typeof a ? a : _a(a)}`)).join(","); } }, e, { easing: t, duration: r }); } const Fa = { mobileStepper: 1e3, fab: 1050, speedDial: 1050, appBar: 1100, drawer: 1200, modal: 1300, snackbar: 1400, tooltip: 1500 }, Na = [ "breakpoints", "mixins", "spacing", "palette", "transitions", "typography", "shape" ]; function za(e = {}, ...t) { const {mixins: r = {}, palette: n = {}, transitions: o = {}, typography: i = {}} = e, a = zt(e, Na); if (e.vars) throw new Error(fr(18)); const s = ja(n), l = wi(e); let c = ur(l, { mixins: (u = l.breakpoints, d = r, Lt({ toolbar: { minHeight: 56, [u.up("xs")]: { "@media (orientation: landscape)": { minHeight: 48 } }, [u.up("sm")]: { minHeight: 64 } } }, d)), palette: s, shadows: $a.slice(), typography: Oa(s, i), transitions: Ba(o), zIndex: Lt({}, Fa) }); var u, d; return c = ur(c, a), c = t.reduce(((e, t) => ur(e, t)), c), c.unstable_sxConfig = Lt({}, gi, null == a ? void 0 : a.unstable_sxConfig), c.unstable_sx = function(e) { return vi({ sx: e, theme: this }); }, c; } const La = za(), Da = "$$material", Wa = Ti({ themeId: Da, defaultTheme: La, rootShouldForwardProp: e => $i(e) && "classes" !== e }); function Va(e) { const {theme: t, name: r, props: n} = e; return t && t.components && t.components[r] && t.components[r].defaultProps ? Vr(t.components[r].defaultProps, n) : n; } function Ha(t = null) { const r = e__namespace.useContext(react.ThemeContext); return r && (n = r, 0 !== Object.keys(n).length) ? r : t; var n; } const Ka = wi(); function qa(e = Ka) { return Ha(e); } function Xa({props: e, name: t}) { return function({props: e, name: t, defaultTheme: r, themeId: n}) { let o = qa(r); return n && (o = o[n] || o), Va({ theme: o, name: t, props: e }); }({ props: e, name: t, defaultTheme: La, themeId: Da }); } const Ua = [ "className", "component" ]; function Ga(e) { return (1 + Math.sin(Math.PI * e - Math.PI / 2)) / 2; } function Ya(e) { return Ur("MuiSvgIcon", e); } Gr("MuiSvgIcon", [ "root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge" ]); const Ja = [ "children", "className", "color", "component", "fontSize", "htmlColor", "inheritViewBox", "titleAccess", "viewBox" ], Za = Wa("svg", { name: "MuiSvgIcon", slot: "Root", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ t.root, "inherit" !== r.color && t[`color${vr(r.color)}`], t[`fontSize${vr(r.fontSize)}`] ]; } })((({theme: e, ownerState: t}) => { var r, n, o, i, a, s, l, c, u, d, f, p, h; return { userSelect: "none", width: "1em", height: "1em", display: "inline-block", fill: t.hasSvgAsChild ? void 0 : "currentColor", flexShrink: 0, transition: null == (r = e.transitions) || null == (n = r.create) ? void 0 : n.call(r, "fill", { duration: null == (o = e.transitions) || null == (o = o.duration) ? void 0 : o.shorter }), fontSize: { inherit: "inherit", small: (null == (i = e.typography) || null == (a = i.pxToRem) ? void 0 : a.call(i, 20)) || "1.25rem", medium: (null == (s = e.typography) || null == (l = s.pxToRem) ? void 0 : l.call(s, 24)) || "1.5rem", large: (null == (c = e.typography) || null == (u = c.pxToRem) ? void 0 : u.call(c, 35)) || "2.1875rem" }[t.fontSize], color: null != (d = null == (f = (e.vars || e).palette) || null == (f = f[t.color]) ? void 0 : f.main) ? d : { action: null == (p = (e.vars || e).palette) || null == (p = p.action) ? void 0 : p.active, disabled: null == (h = (e.vars || e).palette) || null == (h = h.action) ? void 0 : h.disabled, inherit: void 0 }[t.color] }; })), Qa = e__namespace.forwardRef((function(t, r) { const n = Xa({ props: t, name: "MuiSvgIcon" }), {children: o, className: i, color: a = "inherit", component: s = "svg", fontSize: l = "medium", htmlColor: c, inheritViewBox: u = !1, titleAccess: d, viewBox: f = "0 0 24 24"} = n, p = zt(n, Ja), h = e__namespace.isValidElement(o) && "svg" === o.type, m = Lt({}, n, { color: a, component: s, fontSize: l, instanceFontSize: t.fontSize, inheritViewBox: u, viewBox: f, hasSvgAsChild: h }), g = {}; u || (g.viewBox = f); const y = (e => { const {color: t, fontSize: r, classes: n} = e; return Hr({ root: [ "root", "inherit" !== t && `color${vr(t)}`, `fontSize${vr(r)}` ] }, Ya, n); })(m); return q.jsxs(Za, Lt({ as: s, className: sr(y.root, i), focusable: "false", color: c, "aria-hidden": !d || void 0, role: d ? "img" : void 0, ref: r }, g, p, h && o.props, { ownerState: m, children: [ h ? o.props.children : o, d ? q.jsx("title", { children: d }) : null ] })); })); function es(t, r) { function n(e, n) { return q.jsx(Qa, Lt({ "data-testid": `${r}Icon`, ref: n }, e, { children: t })); } return n.muiName = Qa.muiName, e__namespace.memo(e__namespace.forwardRef(n)); } Qa.muiName = "SvgIcon"; const ts = [ "onChange" ], rs = { width: 99, height: 99, position: "absolute", top: -9999, overflow: "scroll" }; const ns = es(q.jsx("path", { d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z" }), "KeyboardArrowLeft"), os = es(q.jsx("path", { d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z" }), "KeyboardArrowRight"); function is(e, t) { return (is = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) { return e.__proto__ = t, e; })(e, t); } const as = e.createContext(null); function ss(e$1, t) { var r = Object.create(null); return e$1 && e.Children.map(e$1, (function(e) { return e; })).forEach((function(e$1) { r[e$1.key] = function(e$1) { return t && e.isValidElement(e$1) ? t(e$1) : e$1; }(e$1); })), r; } function ls(e, t, r) { return null != r[t] ? r[t] : e.props[t]; } function cs(e$1, t, r) { var n = ss(e$1.children), o = function(e, t) { function r(r) { return r in t ? t[r] : e[r]; } e = e || {}, t = t || {}; var n, o = Object.create(null), i = []; for (var a in e) a in t ? i.length && (o[a] = i, i = []) : i.push(a); var s = {}; for (var l in t) { if (o[l]) for (n = 0; n < o[l].length; n++) { var c = o[l][n]; s[o[l][n]] = r(c); } s[l] = r(l); } for (n = 0; n < i.length; n++) s[i[n]] = r(i[n]); return s; }(t, n); return Object.keys(o).forEach((function(s) { var l = o[s]; if (e.isValidElement(l)) { var c = s in t, u = s in n, d = t[s], f = e.isValidElement(d) && !d.props.in; !u || c && !f ? u || !c || f ? u && c && e.isValidElement(d) && (o[s] = e.cloneElement(l, { onExited: r.bind(null, l), in: d.props.in, exit: ls(l, "exit", e$1), enter: ls(l, "enter", e$1) })) : o[s] = e.cloneElement(l, { in: !1 }) : o[s] = e.cloneElement(l, { onExited: r.bind(null, l), in: !0, exit: ls(l, "exit", e$1), enter: ls(l, "enter", e$1) }); } })), o; } var us = Object.values || function(e) { return Object.keys(e).map((function(t) { return e[t]; })); }, ds = function(e$1) { var r, n; function o(t, r) { var n, o = (n = e$1.call(this, t, r) || this).handleExited.bind(function(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }(n)); return n.state = { contextValue: { isMounting: !0 }, handleExited: o, firstRender: !0 }, n; } n = e$1, (r = o).prototype = Object.create(n.prototype), r.prototype.constructor = r, is(r, n); var i = o.prototype; return i.componentDidMount = function() { this.mounted = !0, this.setState({ contextValue: { isMounting: !1 } }); }, i.componentWillUnmount = function() { this.mounted = !1; }, o.getDerivedStateFromProps = function(e$1, t) { var r, n, o = t.children, i = t.handleExited; return { children: t.firstRender ? (r = e$1, n = i, ss(r.children, (function(e$1) { return e.cloneElement(e$1, { onExited: n.bind(null, e$1), in: !0, appear: ls(e$1, "appear", r), enter: ls(e$1, "enter", r), exit: ls(e$1, "exit", r) }); }))) : cs(e$1, o, i), firstRender: !1 }; }, i.handleExited = function(e, t) { var r = ss(this.props.children); e.key in r || (e.props.onExited && e.props.onExited(t), this.mounted && this.setState((function(t) { var r = Lt({}, t.children); return delete r[e.key], { children: r }; }))); }, i.render = function() { var e$1 = this.props, r = e$1.component, n = e$1.childFactory, o = zt(e$1, [ "component", "childFactory" ]), i = this.state.contextValue, a = us(this.state.children).map(n); return delete o.appear, delete o.enter, delete o.exit, null === r ? e.createElement(as.Provider, { value: i }, a) : e.createElement(as.Provider, { value: i }, e.createElement(r, o, a)); }, o; }(e.Component); ds.propTypes = {}, ds.defaultProps = { component: "div", childFactory: function(e) { return e; } }; const fs = ds; const ps = Gr("MuiTouchRipple", [ "root", "ripple", "rippleVisible", "ripplePulsate", "child", "childLeaving", "childPulsate" ]), hs = [ "center", "classes", "className" ]; let ms, gs, ys, bs, vs = e => e; const xs = react.keyframes(ms || (ms = vs` 0% { transform: scale(0); opacity: 0.1; } 100% { transform: scale(1); opacity: 0.3; } `)), Ss = react.keyframes(gs || (gs = vs` 0% { opacity: 1; } 100% { opacity: 0; } `)), ws = react.keyframes(ys || (ys = vs` 0% { transform: scale(1); } 50% { transform: scale(0.92); } 100% { transform: scale(1); } `)), ks = Wa("span", { name: "MuiTouchRipple", slot: "Root" })({ overflow: "hidden", pointerEvents: "none", position: "absolute", zIndex: 0, top: 0, right: 0, bottom: 0, left: 0, borderRadius: "inherit" }), js = Wa((function(t) { const {className: r, classes: n, pulsate: o = !1, rippleX: i, rippleY: a, rippleSize: s, in: l, onExited: c, timeout: u} = t, [d, f] = e__namespace.useState(!1), p = sr(r, n.ripple, n.rippleVisible, o && n.ripplePulsate), h = { width: s, height: s, top: -s / 2 + a, left: -s / 2 + i }, m = sr(n.child, d && n.childLeaving, o && n.childPulsate); return l || d || f(!0), e__namespace.useEffect((() => { if (!l && null != c) { const e = setTimeout(c, u); return () => { clearTimeout(e); }; } }), [ c, l, u ]), q.jsx("span", { className: p, style: h, children: q.jsx("span", { className: m }) }); }), { name: "MuiTouchRipple", slot: "Ripple" })(bs || (bs = vs` opacity: 0; position: absolute; &.${0} { opacity: 0.3; transform: scale(1); animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } &.${0} { animation-duration: ${0}ms; } & .${0} { opacity: 1; display: block; width: 100%; height: 100%; border-radius: 50%; background-color: currentColor; } & .${0} { opacity: 0; animation-name: ${0}; animation-duration: ${0}ms; animation-timing-function: ${0}; } & .${0} { position: absolute; /* @noflip */ left: 0px; top: 0; animation-name: ${0}; animation-duration: 2500ms; animation-timing-function: ${0}; animation-iteration-count: infinite; animation-delay: 200ms; } `), ps.rippleVisible, xs, 550, (({theme: e}) => e.transitions.easing.easeInOut), ps.ripplePulsate, (({theme: e}) => e.transitions.duration.shorter), ps.child, ps.childLeaving, Ss, 550, (({theme: e}) => e.transitions.easing.easeInOut), ps.childPulsate, ws, (({theme: e}) => e.transitions.easing.easeInOut)), Cs = e__namespace.forwardRef((function(t, r) { const n = Xa({ props: t, name: "MuiTouchRipple" }), {center: o = !1, classes: i = {}, className: a} = n, s = zt(n, hs), [l, c] = e__namespace.useState([]), u = e__namespace.useRef(0), d = e__namespace.useRef(null); e__namespace.useEffect((() => { d.current && (d.current(), d.current = null); }), [ l ]); const f = e__namespace.useRef(!1), p = $r(), h = e__namespace.useRef(null), m = e__namespace.useRef(null), g = e__namespace.useCallback((e => { const {pulsate: t, rippleX: r, rippleY: n, rippleSize: o, cb: a} = e; c((e => [ ...e, q.jsx(js, { classes: { ripple: sr(i.ripple, ps.ripple), rippleVisible: sr(i.rippleVisible, ps.rippleVisible), ripplePulsate: sr(i.ripplePulsate, ps.ripplePulsate), child: sr(i.child, ps.child), childLeaving: sr(i.childLeaving, ps.childLeaving), childPulsate: sr(i.childPulsate, ps.childPulsate) }, timeout: 550, pulsate: t, rippleX: r, rippleY: n, rippleSize: o }, u.current) ])), u.current += 1, d.current = a; }), [ i ]), y = e__namespace.useCallback(((e = {}, t = {}, r = (() => {})) => { const {pulsate: n = !1, center: i = o || t.pulsate, fakeElement: a = !1} = t; if ("mousedown" === (null == e ? void 0 : e.type) && f.current) return void (f.current = !1); "touchstart" === (null == e ? void 0 : e.type) && (f.current = !0); const s = a ? null : m.current, l = s ? s.getBoundingClientRect() : { width: 0, height: 0, left: 0, top: 0 }; let c, u, d; if (i || void 0 === e || 0 === e.clientX && 0 === e.clientY || !e.clientX && !e.touches) c = Math.round(l.width / 2), u = Math.round(l.height / 2); else { const {clientX: t, clientY: r} = e.touches && e.touches.length > 0 ? e.touches[0] : e; c = Math.round(t - l.left), u = Math.round(r - l.top); } if (i) d = Math.sqrt((2 * l.width ** 2 + l.height ** 2) / 3), d % 2 == 0 && (d += 1); else { const e = 2 * Math.max(Math.abs((s ? s.clientWidth : 0) - c), c) + 2, t = 2 * Math.max(Math.abs((s ? s.clientHeight : 0) - u), u) + 2; d = Math.sqrt(e ** 2 + t ** 2); } null != e && e.touches ? null === h.current && (h.current = () => { g({ pulsate: n, rippleX: c, rippleY: u, rippleSize: d, cb: r }); }, p.start(80, (() => { h.current && (h.current(), h.current = null); }))) : g({ pulsate: n, rippleX: c, rippleY: u, rippleSize: d, cb: r }); }), [ o, g, p ]), b = e__namespace.useCallback((() => { y({}, { pulsate: !0 }); }), [ y ]), v = e__namespace.useCallback(((e, t) => { if (p.clear(), "touchend" === (null == e ? void 0 : e.type) && h.current) return h.current(), h.current = null, void p.start(0, (() => { v(e, t); })); h.current = null, c((e => e.length > 0 ? e.slice(1) : e)), d.current = t; }), [ p ]); return e__namespace.useImperativeHandle(r, (() => ({ pulsate: b, start: y, stop: v })), [ b, y, v ]), q.jsx(ks, Lt({ className: sr(ps.root, i.root, a), ref: m }, s, { children: q.jsx(fs, { component: null, exit: !0, children: l }) })); })); function Rs(e) { return Ur("MuiButtonBase", e); } const Es = Gr("MuiButtonBase", [ "root", "disabled", "focusVisible" ]), Os = [ "action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type" ], Ts = Wa("button", { name: "MuiButtonBase", slot: "Root", overridesResolver: (e, t) => t.root })({ display: "inline-flex", alignItems: "center", justifyContent: "center", position: "relative", boxSizing: "border-box", WebkitTapHighlightColor: "transparent", backgroundColor: "transparent", outline: 0, border: 0, margin: 0, borderRadius: 0, padding: 0, cursor: "pointer", userSelect: "none", verticalAlign: "middle", MozAppearance: "none", WebkitAppearance: "none", textDecoration: "none", color: "inherit", "&::-moz-focus-inner": { borderStyle: "none" }, [`&.${Es.disabled}`]: { pointerEvents: "none", cursor: "default" }, "@media print": { colorAdjust: "exact" } }), $s = e__namespace.forwardRef((function(t, r) { const n = Xa({ props: t, name: "MuiButtonBase" }), {action: o, centerRipple: i = !1, children: a, className: s, component: l = "button", disabled: c = !1, disableRipple: u = !1, disableTouchRipple: d = !1, focusRipple: f = !1, LinkComponent: p = "a", onBlur: h, onClick: m, onContextMenu: g, onDragLeave: y, onFocus: b, onFocusVisible: v, onKeyDown: x, onKeyUp: S, onMouseDown: w, onMouseLeave: k, onMouseUp: j, onTouchEnd: C, onTouchMove: R, onTouchStart: E, tabIndex: O = 0, TouchRippleProps: T, touchRippleRef: $, type: A} = n, P = zt(n, Os), M = e__namespace.useRef(null), _ = e__namespace.useRef(null), I = Rr(_, $), {isFocusVisibleRef: B, onFocus: F, onBlur: N, ref: z} = zr(), [L, D] = e__namespace.useState(!1); c && L && D(!1), e__namespace.useImperativeHandle(o, (() => ({ focusVisible: () => { D(!0), M.current.focus(); } })), []); const [W, V] = e__namespace.useState(!1); e__namespace.useEffect((() => { V(!0); }), []); const H = W && !u && !c; function K(e, t, r = d) { return Cr((n => { t && t(n); return !r && _.current && _.current[e](n), !0; })); } e__namespace.useEffect((() => { L && f && !u && W && _.current.pulsate(); }), [ u, f, L, W ]); const X = K("start", w), U = K("stop", g), G = K("stop", y), Y = K("stop", j), J = K("stop", (e => { L && e.preventDefault(), k && k(e); })), Z = K("start", E), Q = K("stop", C), ee = K("stop", R), te = K("stop", (e => { N(e), !1 === B.current && D(!1), h && h(e); }), !1), re = Cr((e => { M.current || (M.current = e.currentTarget), F(e), !0 === B.current && (D(!0), v && v(e)), b && b(e); })), ne = () => { const e = M.current; return l && "button" !== l && !("A" === e.tagName && e.href); }, oe = e__namespace.useRef(!1), ie = Cr((e => { f && !oe.current && L && _.current && " " === e.key && (oe.current = !0, _.current.stop(e, (() => { _.current.start(e); }))), e.target === e.currentTarget && ne() && " " === e.key && e.preventDefault(), x && x(e), e.target === e.currentTarget && ne() && "Enter" === e.key && !c && (e.preventDefault(), m && m(e)); })), ae = Cr((e => { f && " " === e.key && _.current && L && !e.defaultPrevented && (oe.current = !1, _.current.stop(e, (() => { _.current.pulsate(e); }))), S && S(e), m && e.target === e.currentTarget && ne() && " " === e.key && !e.defaultPrevented && m(e); })); let se = l; "button" === se && (P.href || P.to) && (se = p); const le = {}; "button" === se ? (le.type = void 0 === A ? "button" : A, le.disabled = c) : (P.href || P.to || (le.role = "button"), c && (le["aria-disabled"] = c)); const ce = Rr(r, z, M), ue = Lt({}, n, { centerRipple: i, component: l, disabled: c, disableRipple: u, disableTouchRipple: d, focusRipple: f, tabIndex: O, focusVisible: L }), de = (e => { const {disabled: t, focusVisible: r, focusVisibleClassName: n, classes: o} = e, i = Hr({ root: [ "root", t && "disabled", r && "focusVisible" ] }, Rs, o); return r && n && (i.root += ` ${n}`), i; })(ue); return q.jsxs(Ts, Lt({ as: se, className: sr(de.root, s), ownerState: ue, onBlur: te, onClick: m, onContextMenu: U, onFocus: re, onKeyDown: ie, onKeyUp: ae, onMouseDown: X, onMouseLeave: J, onMouseUp: Y, onDragLeave: G, onTouchEnd: Q, onTouchMove: ee, onTouchStart: Z, ref: ce, tabIndex: c ? -1 : O, type: A }, le, P, { children: [ a, H ? q.jsx(Cs, Lt({ ref: I, center: i }, T)) : null ] })); })); function As(e) { return Ur("MuiTabScrollButton", e); } const Ps = Gr("MuiTabScrollButton", [ "root", "vertical", "horizontal", "disabled" ]), Ms = [ "className", "slots", "slotProps", "direction", "orientation", "disabled" ], _s = Wa($s, { name: "MuiTabScrollButton", slot: "Root", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ t.root, r.orientation && t[r.orientation] ]; } })((({ownerState: e}) => Lt({ width: 40, flexShrink: 0, opacity: .8, [`&.${Ps.disabled}`]: { opacity: 0 } }, "vertical" === e.orientation && { width: "100%", height: 40, "& svg": { transform: `rotate(${e.isRtl ? -90 : 90}deg)` } }))), Is = e__namespace.forwardRef((function(e, t) { var r, n; const o = Xa({ props: e, name: "MuiTabScrollButton" }), {className: i, slots: a = {}, slotProps: s = {}, direction: l} = o, c = zt(o, Ms), u = Lt({ isRtl: rn() }, o), d = (e => { const {classes: t, orientation: r, disabled: n} = e; return Hr({ root: [ "root", r, n && "disabled" ] }, As, t); })(u), f = null != (r = a.StartScrollButtonIcon) ? r : ns, p = null != (n = a.EndScrollButtonIcon) ? n : os, h = en({ elementType: f, externalSlotProps: s.startScrollButtonIcon, additionalProps: { fontSize: "small" }, ownerState: u }), m = en({ elementType: p, externalSlotProps: s.endScrollButtonIcon, additionalProps: { fontSize: "small" }, ownerState: u }); return q.jsx(_s, Lt({ component: "div", className: sr(d.root, i), ref: t, role: null, ownerState: u, tabIndex: null }, c, { children: "left" === l ? q.jsx(f, Lt({}, h)) : q.jsx(p, Lt({}, m)) })); })); function Bs(e) { return Ur("MuiTabs", e); } const Fs = Gr("MuiTabs", [ "root", "vertical", "flexContainer", "flexContainerVertical", "centered", "scroller", "fixed", "scrollableX", "scrollableY", "hideScrollbar", "scrollButtons", "scrollButtonsHideMobile", "indicator" ]), Ns = [ "aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar" ], zs = (e, t) => e === t ? e.firstChild : t && t.nextElementSibling ? t.nextElementSibling : e.firstChild, Ls = (e, t) => e === t ? e.lastChild : t && t.previousElementSibling ? t.previousElementSibling : e.lastChild, Ds = (e, t, r) => { let n = !1, o = r(e, t); for (;o; ) { if (o === e.firstChild) { if (n) return; n = !0; } const t = o.disabled || "true" === o.getAttribute("aria-disabled"); if (o.hasAttribute("tabindex") && !t) return void o.focus(); o = r(e, o); } }, Ws = Wa("div", { name: "MuiTabs", slot: "Root", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ { [`& .${Fs.scrollButtons}`]: t.scrollButtons }, { [`& .${Fs.scrollButtons}`]: r.scrollButtonsHideMobile && t.scrollButtonsHideMobile }, t.root, r.vertical && t.vertical ]; } })((({ownerState: e, theme: t}) => Lt({ overflow: "hidden", minHeight: 48, WebkitOverflowScrolling: "touch", display: "flex" }, e.vertical && { flexDirection: "column" }, e.scrollButtonsHideMobile && { [`& .${Fs.scrollButtons}`]: { [t.breakpoints.down("sm")]: { display: "none" } } }))), Vs = Wa("div", { name: "MuiTabs", slot: "Scroller", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ t.scroller, r.fixed && t.fixed, r.hideScrollbar && t.hideScrollbar, r.scrollableX && t.scrollableX, r.scrollableY && t.scrollableY ]; } })((({ownerState: e}) => Lt({ position: "relative", display: "inline-block", flex: "1 1 auto", whiteSpace: "nowrap" }, e.fixed && { overflowX: "hidden", width: "100%" }, e.hideScrollbar && { scrollbarWidth: "none", "&::-webkit-scrollbar": { display: "none" } }, e.scrollableX && { overflowX: "auto", overflowY: "hidden" }, e.scrollableY && { overflowY: "auto", overflowX: "hidden" }))), Hs = Wa("div", { name: "MuiTabs", slot: "FlexContainer", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ t.flexContainer, r.vertical && t.flexContainerVertical, r.centered && t.centered ]; } })((({ownerState: e}) => Lt({ display: "flex" }, e.vertical && { flexDirection: "column" }, e.centered && { justifyContent: "center" }))), Ks = Wa("span", { name: "MuiTabs", slot: "Indicator", overridesResolver: (e, t) => t.indicator })((({ownerState: e, theme: t}) => Lt({ position: "absolute", height: 2, bottom: 0, width: "100%", transition: t.transitions.create() }, "primary" === e.indicatorColor && { backgroundColor: (t.vars || t).palette.primary.main }, "secondary" === e.indicatorColor && { backgroundColor: (t.vars || t).palette.secondary.main }, e.vertical && { height: "100%", width: 2, right: 0 }))), qs = Wa((function(t) { const {onChange: r} = t, n = zt(t, ts), o = e__namespace.useRef(), i = e__namespace.useRef(null), a = () => { o.current = i.current.offsetHeight - i.current.clientHeight; }; return jr((() => { const e = Sr((() => { const e = o.current; a(), e !== o.current && r(o.current); })), t = kr(i.current); return t.addEventListener("resize", e), () => { e.clear(), t.removeEventListener("resize", e); }; }), [ r ]), e__namespace.useEffect((() => { a(), r(o.current); }), [ r ]), q.jsx("div", Lt({ style: rs, ref: i }, n)); }))({ overflowX: "auto", overflowY: "hidden", scrollbarWidth: "none", "&::-webkit-scrollbar": { display: "none" } }), Xs = {}, Us = e__namespace.forwardRef((function(t, r) { const n = Xa({ props: t, name: "MuiTabs" }), o = function() { const e = qa(La); return e[Da] || e; }(), i = rn(), {"aria-label": a, "aria-labelledby": s, action: l, centered: c = !1, children: u, className: d, component: f = "div", allowScrollButtonsMobile: p = !1, indicatorColor: h = "primary", onChange: m, orientation: g = "horizontal", ScrollButtonComponent: y = Is, scrollButtons: b = "auto", selectionFollowsFocus: v, slots: x = {}, slotProps: S = {}, TabIndicatorProps: w = {}, TabScrollButtonProps: k = {}, textColor: j = "primary", value: C, variant: R = "standard", visibleScrollbar: E = !1} = n, O = zt(n, Ns), T = "scrollable" === R, $ = "vertical" === g, A = $ ? "scrollTop" : "scrollLeft", P = $ ? "top" : "left", M = $ ? "bottom" : "right", _ = $ ? "clientHeight" : "clientWidth", I = $ ? "height" : "width", B = Lt({}, n, { component: f, allowScrollButtonsMobile: p, indicatorColor: h, orientation: g, vertical: $, scrollButtons: b, textColor: j, variant: R, visibleScrollbar: E, fixed: !T, hideScrollbar: T && !E, scrollableX: T && !$, scrollableY: T && $, centered: c && !T, scrollButtonsHideMobile: !p }), F = (e => { const {vertical: t, fixed: r, hideScrollbar: n, scrollableX: o, scrollableY: i, centered: a, scrollButtonsHideMobile: s, classes: l} = e; return Hr({ root: [ "root", t && "vertical" ], scroller: [ "scroller", r && "fixed", n && "hideScrollbar", o && "scrollableX", i && "scrollableY" ], flexContainer: [ "flexContainer", t && "flexContainerVertical", a && "centered" ], indicator: [ "indicator" ], scrollButtons: [ "scrollButtons", s && "scrollButtonsHideMobile" ], scrollableX: [ o && "scrollableX" ], hideScrollbar: [ n && "hideScrollbar" ] }, Bs, l); })(B), N = en({ elementType: x.StartScrollButtonIcon, externalSlotProps: S.startScrollButtonIcon, ownerState: B }), z = en({ elementType: x.EndScrollButtonIcon, externalSlotProps: S.endScrollButtonIcon, ownerState: B }), [L, D] = e__namespace.useState(!1), [W, V] = e__namespace.useState(Xs), [H, K] = e__namespace.useState(!1), [X, U] = e__namespace.useState(!1), [G, Y] = e__namespace.useState(!1), [J, Z] = e__namespace.useState({ overflow: "hidden", scrollbarWidth: 0 }), Q = new Map, ee = e__namespace.useRef(null), te = e__namespace.useRef(null), re = () => { const e = ee.current; let t, r; if (e) { const r = e.getBoundingClientRect(); t = { clientWidth: e.clientWidth, scrollLeft: e.scrollLeft, scrollTop: e.scrollTop, scrollLeftNormalized: Wr(e, i ? "rtl" : "ltr"), scrollWidth: e.scrollWidth, top: r.top, bottom: r.bottom, left: r.left, right: r.right }; } if (e && !1 !== C) { const e = te.current.children; if (e.length > 0) { const t = e[Q.get(C)]; r = t ? t.getBoundingClientRect() : null; } } return { tabsMeta: t, tabMeta: r }; }, ne = Cr((() => { const {tabsMeta: e, tabMeta: t} = re(); let r, n = 0; if ($) r = "top", t && e && (n = t.top - e.top + e.scrollTop); else if (r = i ? "right" : "left", t && e) { const o = i ? e.scrollLeftNormalized + e.clientWidth - e.scrollWidth : e.scrollLeft; n = (i ? -1 : 1) * (t[r] - e[r] + o); } const o = { [r]: n, [I]: t ? t[I] : 0 }; if (isNaN(W[r]) || isNaN(W[I])) V(o); else { const e = Math.abs(W[r] - o[r]), t = Math.abs(W[I] - o[I]); (e >= 1 || t >= 1) && V(o); } })), oe = (e, {animation: t = !0} = {}) => { t ? function(e, t, r, n = {}, o = (() => {})) { const {ease: i = Ga, duration: a = 300} = n; let s = null; const l = t[e]; const d = n => { null === s && (s = n); const u = Math.min(1, (n - s) / a); t[e] = i(u) * (r - l) + l, u >= 1 ? requestAnimationFrame((() => { o(null); })) : requestAnimationFrame(d); }; l === r ? o(new Error("Element already at target position")) : requestAnimationFrame(d); }(A, ee.current, e, { duration: o.transitions.duration.standard }) : ee.current[A] = e; }, ie = e => { let t = ee.current[A]; $ ? t += e : (t += e * (i ? -1 : 1), t *= i && "reverse" === Dr() ? -1 : 1), oe(t); }, ae = () => { const e = ee.current[_]; let t = 0; const r = Array.from(te.current.children); for (let n = 0; n < r.length; n += 1) { const o = r[n]; if (t + o[_] > e) { 0 === n && (t = e); break; } t += o[_]; } return t; }, se = () => { ie(-1 * ae()); }, le = () => { ie(ae()); }, ce = e__namespace.useCallback((e => { Z({ overflow: null, scrollbarWidth: e }); }), []), ue = Cr((e => { const {tabsMeta: t, tabMeta: r} = re(); if (r && t) if (r[P] < t[P]) { const n = t[A] + (r[P] - t[P]); oe(n, { animation: e }); } else if (r[M] > t[M]) { const n = t[A] + (r[M] - t[M]); oe(n, { animation: e }); } })), de = Cr((() => { T && !1 !== b && Y(!G); })); e__namespace.useEffect((() => { const e = Sr((() => { ee.current && ne(); })); let t; const r = r => { r.forEach((e => { e.removedNodes.forEach((e => { var r; null == (r = t) || r.unobserve(e); })), e.addedNodes.forEach((e => { var r; null == (r = t) || r.observe(e); })); })), e(), de(); }, n = kr(ee.current); let o; return n.addEventListener("resize", e), "undefined" != typeof ResizeObserver && (t = new ResizeObserver(e), Array.from(te.current.children).forEach((e => { t.observe(e); }))), "undefined" != typeof MutationObserver && (o = new MutationObserver(r), o.observe(te.current, { childList: !0 })), () => { var r, i; e.clear(), n.removeEventListener("resize", e), null == (r = o) || r.disconnect(), null == (i = t) || i.disconnect(); }; }), [ ne, de ]), e__namespace.useEffect((() => { const e = Array.from(te.current.children), t = e.length; if ("undefined" != typeof IntersectionObserver && t > 0 && T && !1 !== b) { const r = e[0], n = e[t - 1], o = { root: ee.current, threshold: .99 }, i = new IntersectionObserver((e => { K(!e[0].isIntersecting); }), o); i.observe(r); const a = new IntersectionObserver((e => { U(!e[0].isIntersecting); }), o); return a.observe(n), () => { i.disconnect(), a.disconnect(); }; } }), [ T, b, G, null == u ? void 0 : u.length ]), e__namespace.useEffect((() => { D(!0); }), []), e__namespace.useEffect((() => { ne(); })), e__namespace.useEffect((() => { ue(Xs !== W); }), [ ue, W ]), e__namespace.useImperativeHandle(l, (() => ({ updateIndicator: ne, updateScrollButtons: de })), [ ne, de ]); const fe = q.jsx(Ks, Lt({}, w, { className: sr(F.indicator, w.className), ownerState: B, style: Lt({}, W, w.style) })); let pe = 0; const he = e__namespace.Children.map(u, (t => { if (!e__namespace.isValidElement(t)) return null; const r = void 0 === t.props.value ? pe : t.props.value; Q.set(r, pe); const n = r === C; return pe += 1, e__namespace.cloneElement(t, Lt({ fullWidth: "fullWidth" === R, indicator: n && !L && fe, selected: n, selectionFollowsFocus: v, onChange: m, textColor: j, value: r }, 1 !== pe || !1 !== C || t.props.tabIndex ? {} : { tabIndex: 0 })); })), me = (() => { const e = {}; e.scrollbarSizeListener = T ? q.jsx(qs, { onChange: ce, className: sr(F.scrollableX, F.hideScrollbar) }) : null; const t = T && ("auto" === b && (H || X) || !0 === b); return e.scrollButtonStart = t ? q.jsx(y, Lt({ slots: { StartScrollButtonIcon: x.StartScrollButtonIcon }, slotProps: { startScrollButtonIcon: N }, orientation: g, direction: i ? "right" : "left", onClick: se, disabled: !H }, k, { className: sr(F.scrollButtons, k.className) })) : null, e.scrollButtonEnd = t ? q.jsx(y, Lt({ slots: { EndScrollButtonIcon: x.EndScrollButtonIcon }, slotProps: { endScrollButtonIcon: z }, orientation: g, direction: i ? "left" : "right", onClick: le, disabled: !X }, k, { className: sr(F.scrollButtons, k.className) })) : null, e; })(); return q.jsxs(Ws, Lt({ className: sr(F.root, d), ownerState: B, ref: r, as: f }, O, { children: [ me.scrollButtonStart, me.scrollbarSizeListener, q.jsxs(Vs, { className: F.scroller, ownerState: B, style: { overflow: J.overflow, [$ ? "margin" + (i ? "Left" : "Right") : "marginBottom"]: E ? void 0 : -J.scrollbarWidth }, ref: ee, children: [ q.jsx(Hs, { "aria-label": a, "aria-labelledby": s, "aria-orientation": "vertical" === g ? "vertical" : null, className: F.flexContainer, ownerState: B, onKeyDown: e => { const t = te.current, r = wr(t).activeElement; if ("tab" !== r.getAttribute("role")) return; let n = "horizontal" === g ? "ArrowLeft" : "ArrowUp", o = "horizontal" === g ? "ArrowRight" : "ArrowDown"; switch ("horizontal" === g && i && (n = "ArrowRight", o = "ArrowLeft"), e.key) { case n: e.preventDefault(), Ds(t, r, Ls); break; case o: e.preventDefault(), Ds(t, r, zs); break; case "Home": e.preventDefault(), Ds(t, null, zs); break; case "End": e.preventDefault(), Ds(t, null, Ls); } }, ref: te, role: "tablist", children: he }), L && fe ] }), me.scrollButtonEnd ] })); })); function Gs(e) { return Ur("MuiTab", e); } const Ys = Gr("MuiTab", [ "root", "labelIcon", "textColorInherit", "textColorPrimary", "textColorSecondary", "selected", "disabled", "fullWidth", "wrapped", "iconWrapper" ]), Js = [ "className", "disabled", "disableFocusRipple", "fullWidth", "icon", "iconPosition", "indicator", "label", "onChange", "onClick", "onFocus", "selected", "selectionFollowsFocus", "textColor", "value", "wrapped" ], Zs = Wa($s, { name: "MuiTab", slot: "Root", overridesResolver: (e, t) => { const {ownerState: r} = e; return [ t.root, r.label && r.icon && t.labelIcon, t[`textColor${vr(r.textColor)}`], r.fullWidth && t.fullWidth, r.wrapped && t.wrapped ]; } })((({theme: e, ownerState: t}) => Lt({}, e.typography.button, { maxWidth: 360, minWidth: 90, position: "relative", minHeight: 48, flexShrink: 0, padding: "12px 16px", overflow: "hidden", whiteSpace: "normal", textAlign: "center" }, t.label && { flexDirection: "top" === t.iconPosition || "bottom" === t.iconPosition ? "column" : "row" }, { lineHeight: 1.25 }, t.icon && t.label && { minHeight: 72, paddingTop: 9, paddingBottom: 9, [`& > .${Ys.iconWrapper}`]: Lt({}, "top" === t.iconPosition && { marginBottom: 6 }, "bottom" === t.iconPosition && { marginTop: 6 }, "start" === t.iconPosition && { marginRight: e.spacing(1) }, "end" === t.iconPosition && { marginLeft: e.spacing(1) }) }, "inherit" === t.textColor && { color: "inherit", opacity: .6, [`&.${Ys.selected}`]: { opacity: 1 }, [`&.${Ys.disabled}`]: { opacity: (e.vars || e).palette.action.disabledOpacity } }, "primary" === t.textColor && { color: (e.vars || e).palette.text.secondary, [`&.${Ys.selected}`]: { color: (e.vars || e).palette.primary.main }, [`&.${Ys.disabled}`]: { color: (e.vars || e).palette.text.disabled } }, "secondary" === t.textColor && { color: (e.vars || e).palette.text.secondary, [`&.${Ys.selected}`]: { color: (e.vars || e).palette.secondary.main }, [`&.${Ys.disabled}`]: { color: (e.vars || e).palette.text.disabled } }, t.fullWidth && { flexShrink: 1, flexGrow: 1, flexBasis: 0, maxWidth: "none" }, t.wrapped && { fontSize: e.typography.pxToRem(12) }))), Qs = e__namespace.forwardRef((function(t, r) { const n = Xa({ props: t, name: "MuiTab" }), {className: o, disabled: i = !1, disableFocusRipple: a = !1, fullWidth: s, icon: l, iconPosition: c = "top", indicator: u, label: d, onChange: f, onClick: p, onFocus: h, selected: m, selectionFollowsFocus: g, textColor: y = "inherit", value: b, wrapped: v = !1} = n, x = zt(n, Js), S = Lt({}, n, { disabled: i, disableFocusRipple: a, selected: m, icon: !!l, iconPosition: c, label: !!d, fullWidth: s, textColor: y, wrapped: v }), w = (e => { const {classes: t, textColor: r, fullWidth: n, wrapped: o, icon: i, label: a, selected: s, disabled: l} = e; return Hr({ root: [ "root", i && a && "labelIcon", `textColor${vr(r)}`, n && "fullWidth", o && "wrapped", s && "selected", l && "disabled" ], iconWrapper: [ "iconWrapper" ] }, Gs, t); })(S), k = l && d && e__namespace.isValidElement(l) ? e__namespace.cloneElement(l, { className: sr(w.iconWrapper, l.props.className) }) : l; return q.jsxs(Zs, Lt({ focusRipple: !a, className: sr(w.root, o), ref: r, role: "tab", "aria-selected": m, disabled: i, onClick: e => { !m && f && f(e, b), p && p(e); }, onFocus: e => { g && !m && f && f(e, b), h && h(e); }, ownerState: S, tabIndex: m ? 0 : -1 }, x, { children: [ "top" === c || "start" === c ? q.jsxs(e__namespace.Fragment, { children: [ k, d ] }) : q.jsxs(e__namespace.Fragment, { children: [ d, k ] }), u ] })); })), el = Gr("MuiBox", [ "root" ]), tl = za(), rl = function(t = {}) { const {themeId: r, defaultTheme: n, defaultClassName: o = "MuiBox-root", generateClassName: i} = t, a = ho("div", { shouldForwardProp: e => "theme" !== e && "sx" !== e && "as" !== e })(vi); return e__namespace.forwardRef((function(e, t) { const s = qa(n), l = Ri(e), {className: c, component: u = "div"} = l, d = zt(l, Ua); return q.jsx(a, Lt({ as: u, ref: t, className: sr(c, i ? i(o) : o), theme: r && s[r] || s }, d)); })); }({ themeId: Da, defaultTheme: tl, defaultClassName: el.root, generateClassName: qr.generate }); function nl() { const {logItems: e$1} = et(), t = e.useRef(null); return e.useEffect((() => { t.current && t.current.scrollIntoView({ behavior: "smooth" }); }), [ e$1 ]), q.jsxs(material.List, { dense: !0, sx: {}, children: [ e$1.map(((e, t) => q.jsx(material.ListItem, { children: q.jsx(material.ListItemText, { primary: e, sx: { typography: "overline", lineHeight: "normal", px: 0, my: 0 }, disableTypography: !0 }) }, t))), q.jsx("div", { ref: t }) ] }); } const ol = ({value: e$1, min: t = 0, max: r = 1 / 0, step: o = 1, decimalScale: i = 0, unit: a, singularUnit: s, helperText: l, textAlign: d = "center", hideActionButtons: f = !1, onChange: p, ...h}) => { var w, k; const [j, C] = e.useState(null == e$1 ? void 0 : e$1.toString()), R = Math.max(...[ t, r, o ].map((e => (e % 1 || 0).toString().length - 2)), 0), E = i > 0 || R > 0; i = i > 0 ? i : R; const O = al(t, r, E), T = e => il(e, t, r, i), $ = T(j).toString() === j && void 0 !== e$1 ? T(e$1).toString() : j, A = e => { C(e); const t = T(e); t.toString() === e && (null == p || p(t)); }, P = e => () => A(T(T($) + e).toString()); h ?? (h = {}), h.inputProps ?? (h.inputProps = {}), (w = h.inputProps).style ?? (w.style = {}), (k = h.inputProps.style).textAlign ?? (k.textAlign = d), h.placeholder ?? (h.placeholder = Math.min(r, Math.max(t, 0)).toString()); const M = sl(h); return f = f || h.readOnly || !1, s ?? (s = a), a ?? (a = s), q.jsx(material.Box, { children: q.jsxs(material.FormControl, { ...M, variant: "outlined", children: [ q.jsx(material.InputLabel, { shrink: !0, htmlFor: "number-input", children: h.label }), q.jsx(material.OutlinedInput, { notched: !0, error: h.error || Number(j) < t || Number(j) > r, ...h, value: $, id: "number-input", onChange: e => A(e.target.value), onBlur: e => A(T(e.target.value).toString()), onKeyDown: e => { const n = (e => { if (e.ctrlKey || e.shiftKey || e.altKey) return; if ("ArrowUp" === e.key) return void P(o)(); if ("ArrowDown" === e.key) return void P(-o)(); const t = e.key; if (t.length > 1) return; const r = t.charCodeAt(0); return r < 32 || r > 126 && r < 160 || r > 255 ? void 0 : t; })(e); if (!n) return; const i = e.target; if (null == i.selectionStart || null == i.selectionEnd) return; const a = i.value.substring(0, i.selectionStart) + n + i.value.substring(i.selectionEnd); a.match(O) ? (Number(a) < t || Number(a) > r) && e.preventDefault() : e.preventDefault(); }, onPaste: e => { var n; const o = null == (n = e.clipboardData) ? void 0 : n.getData("Text"); (null == o ? void 0 : o.trim().match(O)) ? (Number(!(null == o ? void 0 : o.trim())) < t || Number(!(null == o ? void 0 : o.trim())) > r) && e.preventDefault() : e.preventDefault(); }, startAdornment: f ? void 0 : q.jsx(material.InputAdornment, { position: "start", children: q.jsx(material.IconButton, { "aria-label": "decrease value", onClick: P(-o), edge: "start", disabled: h.disabled || T($) <= t, children: q.jsx(material.Icon, { children: "do_not_disturb_on" }) }) }), endAdornment: (a || !f) && q.jsxs(material.InputAdornment, { position: "end", children: [ a && q.jsx(material.Typography, { className: "cursor-default select-none", children: 1 === T($) ? s : a }), !f && q.jsx(material.IconButton, { "aria-label": "increase value", onClick: P(o), edge: "end", disabled: h.disabled || T($) >= r, color: void 0, sx: { "&:hover": { color: e => h.color || e.palette.primary.main }, "&:focus": { color: e => h.color || e.palette.primary.main }, transition: e => e.transitions.create("color") }, children: q.jsx(material.Icon, { children: "add_circle" }) }) ] }) }), l && q.jsx(material.FormHelperText, { children: l }) ] }) }); }, il = (e, t = -1 / 0, r = 1 / 0, n = 0) => { let o = "number" == typeof e ? e : Number(e); return o = Math.min(r, Math.max(t, isNaN(o) ? 0 : o)), Number(o.toFixed(n)); }, al = (e, t, r) => { let n = "^"; return n += t < 0 ? "-[0-9]*" : e > 0 ? "[0-9]+" : "-?[0-9]*", r && (n += "(\\.[0-9]*)?"), n += "$", new RegExp(n); }, sl = e => ({ color: e.color, disabled: e.disabled, error: e.error, fullWidth: e.fullWidth, required: e.required, variant: e.variant }); function ll() { const {countTimes: e, standbyTime: t, setCountTimes: r, setStandbyTime: n} = tt(); return tt((e => e._hasHydrated)) ? q.jsxs(material.List, { sx: {}, children: [ q.jsx(material.ListItem, { sx: { pt: 3 }, children: q.jsx(ol, { label: "评论数量", min: 1, max: 10, value: e, onChange: r, size: "small", style: { width: 130 } }) }), q.jsx(material.ListItem, { sx: { pt: 3 }, children: q.jsx(ol, { label: "间隔时间(ms)", min: 100, max: 1e4, value: t, step: 100, onChange: n, size: "small", style: { width: 200 } }) }), q.jsx(material.ListItem, { sx: { pt: 3 } }) ] }) : q.jsx("p", { children: "Loading..." }); } function cl() { return q.jsxs(q.Fragment, { children: [ q.jsx(material.Typography, { variant: "body1", gutterBottom: !0, children: "本脚本用于自动化学习通讨论区的评论操作。" }), q.jsxs(material.Typography, { variant: "body2", gutterBottom: !0, children: [ "作者:", q.jsx("a", { href: "http://github.com/lcandy2", target: "_blank", children: "@lcandy2" }) ] }) ] }); } function ul(e) { const {children: t, value: r, index: n, ...o} = e; return q.jsx("div", { role: "tabpanel", hidden: r !== n, id: `cx-auto-tabpanel-${n}`, "aria-labelledby": `cx-auto-tab-${n}`, ...o, children: r === n && q.jsx(rl, { sx: { p: 0, maxWidth: 280, maxHeight: 300, minWidth: 260, minHeight: 200, overflow: "auto" }, children: t }) }); } function dl(e) { return { id: `cx-auto-tab-${e}`, "aria-controls": `cx-auto-tabpanel-${e}` }; } function fl() { const [e$1, t] = e.useState(0), {isInActionFrame: r} = rt(); return q.jsxs(rl, { sx: { width: "100%" }, children: [ q.jsx(rl, { sx: { borderBottom: 1, borderColor: "divider" }, children: q.jsxs(Us, { value: e$1, onChange: (e, r) => { t(r); }, "aria-label": "basic tabs example", children: [ q.jsx(Qs, { disabled: r, label: "状态", ...dl(0) }), q.jsx(Qs, { disabled: r, label: "设定", ...dl(1) }), q.jsx(Qs, { disabled: r, label: "关于", ...dl(2) }) ] }) }), q.jsx(ul, { value: e$1, index: 0, children: q.jsx(nl, {}) }), q.jsx(ul, { value: e$1, index: 1, children: q.jsx(ll, {}) }), q.jsx(ul, { value: e$1, index: 2, children: q.jsx(cl, {}) }) ] }); } function pl({title: e$1, canBeClosed: r = !0, handleClose: o, actions: i, draggableProps: a, dialogProps: s, maxWidth: l, children: u}) { const [d, f] = e.useState(!0), p = e.useRef(null); return d && q.jsx(M, { handle: "#draggable-dialog-title", cancel: '[class*="MuiDialogContent-root"]', nodeRef: p, ...a, children: q.jsx("div", { className: "floating-overlay", ref: p, children: q.jsxs(material.Dialog, { open: !0, hideBackdrop: !0, disableEnforceFocus: !0, disableAutoFocus: !0, disableScrollLock: !0, disablePortal: !0, maxWidth: l || "xs", "aria-labelledby": "draggable-dialog-title", container: () => document.querySelector(".floating-overlay"), ...s, children: [ q.jsx(material.DialogTitle, { style: { cursor: "move" }, id: "draggable-dialog-title", children: e$1 }), r && q.jsx(material.IconButton, { "aria-label": "close", onClick: () => { f(!1), o && o(); }, sx: { position: "absolute", right: 8, top: 8, color: e => e.palette.grey[500] }, children: q.jsx(material.Icon, { children: "close" }) }), q.jsx(material.DialogContent, { dividers: !0, sx: { p: 0 }, children: q.jsx(material.DialogContentText, { component: "div", children: u }) }), i && q.jsx(material.DialogActions, { children: i }) ] }) }) }); } function hl() { const [e$1, r] = e.useState(!0); e.useRef(null); const {isInActionFrame: o, actionFrameStatus: i, setCurrentStatus: a, setCurrentPage: s} = rt(), l = i.src; return e$1 && q.jsxs(q.Fragment, { children: [ q.jsx(pl, { title: "学习通自动化", actions: q.jsx(Nt, {}), canBeClosed: !o, handleClose: () => { r(!1), a(null), s(null); }, children: q.jsx(fl, {}) }), l && q.jsxs(pl, { title: "--执行讨论回复中--", canBeClosed: !1, draggableProps: { positionOffset: { x: "300px", y: "30px" } }, maxWidth: "sm", children: [ q.jsx("iframe", { id: "cxauto_action", src: l, width: "600", height: "460" }), q.jsx("div", { id: "cxauto_action" }) ] }) ] }); } var ml = {}, gl = _; ml.createRoot = gl.createRoot, ml.hydrateRoot = gl.hydrateRoot, console.log("Chaoxing auto start!!!"), (ae() || se()) && (console.log("Topic Match"), ml.createRoot((() => { const e = document.createElement("div"); return document.body.append(e), e; })()).render(q.jsx(e.StrictMode, { children: q.jsx(hl, {}) }))); })(React, MaterialUI, emotionStyled, emotionReact, ReactDraggable, ReactDOM);